Вопрос по c# – Как сделать один обработчик событий, который применяется к нескольким элементам управления в C #?

3

В Visual Basic я знал, как это сделать, но я новичок в C #, так что вы, ребята, можете сказать мне, как сделать «закрытое пространство» с наведением мыши, которое применяет одно и то же событие к нескольким элементам управления? Вот пример:

private void button1, button2, button3, button4_MouseHover(object sender, EventArgs e)
{
     btn.Image = pic
}
Попробуйте что-то вродеthis.Button1.Click += new System.EventHandler(this.myEventHandler); this.Button2.Click += new System.EventHandler(this.myEventHandler); mattytommo

Ваш Ответ

3   ответа
11

ку:

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
Спасибо, это именно то, что мне нужно. Nicolas Mossmann
3

это просто стандартный обработчик события:

button1.Click += myEventHandler;

Вы можете использовать один и тот же код для добавления обработчиков для каждой кнопки:

button1.Click += myEventHandler;
button2.Click += myEventHandler;
button3.Click += myEventHandler;
button4.Click += myEventHandler;
button5.Click += myEventHandler;
button6.Click += myEventHandler;
0
button1.MouseOver += OnMouseOver(...)
button2.MouseOver += OnMouseOver(...)
button3.MouseOver += OnMouseOver(...)
button4.MouseOver += OnMouseOver(...)

Похожие вопросы