可能重复:
C#发送按钮点击同一个对象
我的项目中有很多按钮.为了使我更短的程序通过编辑Designer.cs文件并将每次单击指向我的方法,使每次单击按钮都使用相同的"Button_click"方法.
this.button1.Click += new System.EventHandler(this.Mymethod);
Run Code Online (Sandbox Code Playgroud)
如何识别Mymethod方法中按下的按钮?
谢谢!
MyMethod必须以这种方式声明:
void Mymethod (object sender, EventArgs e)
{
if (sender == btn1)
MessageBox.Show ("Button1");
}
Run Code Online (Sandbox Code Playgroud)
使用sender参数.这是您的按钮(引发事件的对象).
点击处理程序的结构通常如下:
protected void MyButton_Click(object sender, EventArgs e)
Run Code Online (Sandbox Code Playgroud)
在这,你正在寻找的是object sender.这将是发送click事件的控件的引用.它是盒装的object但是如果你知道它的类型(在你的情况下你说它们都是按钮)那么你可以把它投射:
var myButton = (Button)sender;
Run Code Online (Sandbox Code Playgroud)