我使用以下小类创建了一个自定义按钮以在我的 WinForms 应用程序中使用
public class MyButton : Button
{
protected override void OnPaint(PaintEventArgs e)
{
this.BackColor = Color.ForestGreen;
base.OnPaint(e);
}
}
我只是想让我的应用程序可定制,这样我只需要在一个地方更改按钮颜色(以及其他控件),并且该更改会反映在整个应用程序中。
使用上述代码创建自定义按钮后,我着手将所有标准 System.Windows.Forms.Buttons() 替换为 MyNamespace.MyButton()。然而,虽然新按钮在屏幕上都出现了变化,但其他控件(如文本框(我没有修改))根本不会在屏幕上呈现。但是,如果我在我的应用程序中单击并拖动一个窗口,那么所有丢失的控件都会突然出现。
我不知道是什么原因造成的。谁能给我建议。