簡體   English   中英

C#Windows窗體檢測BackColourChanged事件

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM