[英]C# Windows Forms detect BackColourChanged event
因此,我有一個正在嘗試設計的Windows窗體程序,並且希望繪圖面板能夠根據從內置的ColorDialog中選擇的顏色來更改顏色。
我需要檢測繪制面板BackColorChanged事件的觸發,然后再發生其他代碼。 誰能告訴我如何為此創建處理程序,覺得我可能缺少一些簡單的東西,但無法弄清楚。
如果要通過從ColorDialog中選擇顏色來更改面板的背景色,則不需要該面板中的任何事件。
打開ColorDialog,等待其通過“確定”關閉並相應地設置顏色:
if (colorDialog1.ShowDialog() == DialogResult.OK)
{
panel.BackColor = colorDialog1.Color;
}
這就是我的理解。 如果確實需要使用面板中的事件,為什么不只使用每個WinForms控件提供的事件: BackColorChanged
。 參見Isma的答案。
要在激發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
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.