2010-11-10 3 views
0

Я создал пользовательский элемент управления, который будет кнопкой. В моей форме я разместил несколько таких кнопок. Мой вопрос: как определить в моем классе пользовательского контроля, который позвонил мне (например, какая кнопка)?определить пользовательский контрольный вызов

ответ

2

Ваш класс кнопки должны иметь публичный Clicked событие, как обычная кнопка WinForms:

class MyButton 
{ 
    // this should be fired when a button is clicked 
    public event EventHandler Clicked; 
} 

Если у вас есть один обработчик событий для нескольких кнопок, например:

button1.Clicked += new EventHandler(button_Clicked); 
button2.Clicked += new EventHandler(button_Clicked); 
button3.Clicked += new EventHandler(button_Clicked); 

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

private void button_Clicked(object sender, EventArgs e) 
{ 
    MyButton button = sender as MyButton; 
    MessageBox.Show("You clicked on " + button.Text"); 
} 
Смежные вопросы