我将 winform 显示为对话框(在主窗口上显示 ShowDialog)。因此,我将 FormBorderStyle 设置为 None,因为我既不想要控制框也不想要标题栏。不过,我想要绘制一个边框(例如像普通窗口一样的蓝色边框)并保持移动表单的能力。我不需要调整大小的能力。我试图通过覆盖 OnPaint 来绘制边框,但它从未被调用。这是我的代码:
protected override void OnPaint (PaintEventArgs e)
{
base.OnPaint (e);
int borderWidth = 2;
Color borderColor = Color.Blue;
ControlPaint.DrawBorder (e.Graphics, e.ClipRectangle, borderColor,
borderWidth, ButtonBorderStyle.Solid, borderColor, borderWidth,
ButtonBorderStyle.Solid, borderColor, borderWidth, ButtonBorderStyle.Solid,
borderColor, borderWidth, ButtonBorderStyle.Solid);
}
任何帮助将不胜感激。