C#Windows表单检测后彩色事件



所以我有一个我试图设计的Windows表单程序,我希望Draw面板能够根据从内置的Colordialog选择的颜色来更改颜色。

我需要检测绘制面板后彩色事件的触发,然后发生其他代码。谁能告诉我如何为此创建一个处理程序,感觉我可能会缺少一些简单的东西,但不能弄清楚。

在触发BackColorChanged事件时要通知,您可以在初始化表单时订阅BackColorChanged事件:

public class YourForm : Form
{
    public YourForm()
    {
        InitializeComponents();
        somePanel.BackColorChanged += SomePanel_OnBackColorChanged;
    }
    public void SomePanel_OnBackColorChanged(object sender, EventArgs e)
    {
        //Back color has changed, do something
    }
}

如果您想通过从colordialog中选择颜色来更改面板的后色,则不需要该面板的事件。

打开colordialog,等待用"确定"将其关闭,并相应地设置颜色:

if (colorDialog1.ShowDialog() == DialogResult.OK)  
{  
    panel.BackColor = colorDialog1.Color;  
}

这就是我所理解的。如果您确实需要使用面板中的事件,为什么不使用每个Winforms控件提供的事件:BackColorChanged。请参阅ISMA的答案。

相关内容

  • 没有找到相关文章

最新更新