我有一个带有两个按钮的表单:btn_oldFile和btn_newFile.两个按钮,点击调用函数btnOnClick:
btn_oldFile.Click += btnOnClick;
btn_newFile.Click += btnOnClick;
protected void OldFileBrowse_Click(object sender, EventArgs args)
{
//if btn_oldFile called
// print to tbx_OldFile
//else
//print to tbx_NewFile
}
Run Code Online (Sandbox Code Playgroud)
在大多数情况下,除了为变量赋值之外,btnOnClick都是做同样的事情,无论哪个按钮自己调用.如果btn_oldFile调用该方法,我将一些文本打印到文本框:tbx_OldFile,而如果btn_newFile调用它,则文本将打印到tbx_NewFile.
如何确定哪个按钮是调用该方法的按钮?
引发事件的对象作为sender参数传递给事件处理程序,因此您可以将其强制转换为正确的类型以访问它.
protected void OldFileBrowse_Click(object sender, EventArgs args)
{
Button btn = (Button)sender;
}
Run Code Online (Sandbox Code Playgroud)
编辑:然后您可以使用基本的if语句来检查它是哪个按钮.
if (btn == btn_oldFile) // etc..
Run Code Online (Sandbox Code Playgroud)