C# 确定用户控件调用方

C# 确定用户控件调用方,c#,winforms,C#,Winforms,我创建了一个按钮用户控件。在我的表格上,我放置了多个这样的按钮。我的问题是:如何在我的用户控件类中确定谁调用了我(即,什么按钮)?您的按钮类应该有一个公共的单击事件,就像普通的WinForms按钮一样: class MyButton { // this should be fired when a button is clicked public event EventHandler Clicked; } 如果您有用于多个按钮的单个事件处理程序,例如: button

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

您的按钮类应该有一个公共的
单击事件,就像普通的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");
 }