确定用户控制调用者

时间:2010-11-10 10:13:43

标签: c# winforms

我创建了一个用户控件,它是一个按钮。在我的表格上,我放置了多个这样的按钮。我的问题是:我如何在我的用户控制类中确定谁给我打电话(即什么按钮)?

1 个答案:

答案 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");
 }