Click事件sender的一个简单作用

来源:互联网 发布:中国电信监控下载软件 编辑:程序博客网 时间:2024/05/20 22:30

今天遇到了个小问题,多个控件引用同一个事件时,想要判断当前到底是哪个控件引用该事件,然后就去琢磨了一下sender,问了下别人,sender是可以强制转换成任意类型的。

转换方式为:类型 变量名 = (类型)sender      例:Button btn = (Button)sender;

回到我的问题,要识别当前是哪个控件引用该事件,我们就要用到这个控件的标识,Name,当然,不同的Text也可以成为标识,总之就是要找个不一样的属性来就差不多了。

   举个例子来说:


button1.Click += Button_Click;
button2.Click += Button_Click;

button1,button2引用同一个事件Button_Click(object sender,EventArgs e) 如何在事件中确认当前点击的是哪个Button?

Button_Click(object sender,EventArgs e)
{
  MessageBox.Show(((Button)sender).Name);
}


或:

Button_Click(object sender,EventArgs e)
{

  Button btn = (Button)sender;

  MessageBox.Show(btn.Name);
}


这时候,点击button1按钮就会弹出提示框显示 “button1”,点击button2按钮就会弹出提示框显示 “button2”