我正在制作一个没有 FormBorderStyle 的自定义表单。在表单中,我有一个停靠在表单顶部的面板。面板右侧有一些按钮。
我为表单重写了 OnPaint 以为其绘制边框,当我调整表单大小时,面板上的按钮仍在其位置。我尝试使用 form.Invalidate() 但没有任何反应。
对不起,我不允许在这里张贴图片。
这是表单的代码
protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
Rectangle borderRectangle = this.ClientRectangle;
borderRectangle.Inflate(-1, -1);
//ControlPaint.DrawBorder3D(e.Graphics, borderRectangle, Border3DStyle.RaisedOuter);
ControlPaint.DrawVisualStyleBorder(e.Graphics, borderRectangle);
}
protected override void OnResize(EventArgs e)
{
this.Invalidate(true);
}