c# sender 应用 简单示例
(2014-07-17 19:15:11)
标签:
itsenderc |
分类: C# |
当初学C#,看到事件处理函数有个参数:sender,总觉得怪怪的,没去研究~
阴差阳错学个几个月的javascript,回看C#,这货不就是js中的
event.target 呀!
也就是 事件触发对象的引用
比如,button1_click事件发生时,sender就是指的button1。
{
label1.Text = Button1.ID;
}
protected void
ButtonX_Click(object sender, EventArgs e)
{
Button Button_click = sender as Button;
label1.Text = Button_click.ID;
}
sender
意思是“发送者”,发送消息通知windows应用程序有事件触发的 那个“发送者
sender有什么用?
假设我想要实现这么一个功能,点击某一个button,就将其ID 显示在 label1,easy, 在事件处理函数里面写
protected void
Button1_Click(object sender, EventArgs e)
不就OK?
但是问题来了,假设有100个button,怎么办呢? 难道还去写100个那样的函数吗?
即使不嫌ctrl+C按得手酸,代码看起来也太多了点吧!
所以肯定是应该将这些button的click事件全部绑定到一个处理函数中(无论怎么点击那个button,都会执行同一个函数)那如何在这函数中何区分click的是哪一个button?这就是sender的作用:
// sender 是object类型,使用的时候需要拆箱(类型转换)
至于另一个参数EventArgs
e,我还没有去尝试,不过很显然,应该是包含了一些事件发生时候的相关参数,比如一个click事件发生的时候,e
很有可能包含了点击位置的坐标之类的,用到,lz再补充