/ / C#WindowsフォームがBackColourChangedイベントを検出 - c#、winform、イベント、イベント処理

C#WindowsフォームはBackColourChangedイベントを検出します - c#、winforms、events、event-handling

だから私は私がデザインしようとしているウィンドウズフォームプログラムを持っていて、そして描画パネルが内蔵ColorDialogから選択された色に基づいて色を変えることができるようにしたいです。

ドローパネルの発射を検知する必要がありますBackColorChangedイベントを実行してから、他のコードを発生させます。誰もがこのためのハンドラーを作成する方法を私に言うことができます、私は単純なものを見逃しているかもしれないと思うが、それをかなり理解することができません。

回答:

回答№1は0

いつ通知されるか 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
}
}

回答№2の場合は0

ColorDialogから色を選択してパネルの背景色を変更したい場合は、そのパネルからのイベントは必要ありません。

ColorDialogを開き、「OK」で閉じられるのを待ち、それに応じて色を設定します。

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

それが私が理解したことです。本当にPanelのイベントを使う必要があるのなら、WinFormsコントロールが提供するすべてのイベントを使わないのはなぜでしょう。 BackColorChanged。イスマの答えを見てください。