7

Visual Basic では方法は知っていましたが、C# は初めてなので、同じイベントを複数のコントロールに適用するマウス ホバーで "private void" を作成する方法を教えてください。例があります:

private void button1, button2, button3, button4_MouseHover(object sender, EventArgs e)
{
     btn.Image = pic
}
4

3 に答える 3

19

1 つのイベント ハンドラーを宣言し、各ボタンをそのハンドラーに向けるだけです。

private void Common_MouseHover(object sender, EventArgs e)
{
     Button btn = sender as Button;
     if (btn != null)
         btn.Image = pic
}

次に、コードまたはデザイナーで:

button1.MouseHover += Common_MouseHover;
button2.MouseHover += Common_MouseHover;
// .. etc
于 2012-05-24T14:34:05.357 に答える
3

ボタンのイベントをサブスクライブすると、それは単なる標準のイベント ハンドラーになります。

button1.Click += myEventHandler;

同じコードを使用して、すべてのボタンにハンドラーを追加できます。

button1.Click += myEventHandler;
button2.Click += myEventHandler;
button3.Click += myEventHandler;
button4.Click += myEventHandler;
button5.Click += myEventHandler;
button6.Click += myEventHandler;
于 2012-05-24T14:35:47.033 に答える
0
button1.MouseOver += OnMouseOver(...)
button2.MouseOver += OnMouseOver(...)
button3.MouseOver += OnMouseOver(...)
button4.MouseOver += OnMouseOver(...)
于 2012-05-24T14:34:29.223 に答える