如何绘制带有实线边框的矩形?

How to draw rectangle with solid border?

我使用 How do i make a picturebox selectable? 的答案使 PictureBox 可选择。

一切正常,但边框矩形的线条是虚线。我怎样才能使它坚固?

是因为

      ControlPaint.DrawFocusRectangle(pe.Graphics, rc);

正在绘制虚线矩形。

要绘制实心矩形,请使用:

protected override void OnPaint(PaintEventArgs pe)
{
  base.OnPaint(pe);
  if (this.Focused)
  {
    var rc = this.ClientRectangle;
    rc.Inflate(-2, -2);
    pe.Graphics.DrawRectangle(Pens.Black, rc);
  }
}