A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 赵科铭 中级黑马   /  2014-3-3 21:29  /  1670 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 czwanglei 于 2014-3-9 10:46 编辑

sender到底是什么?谁能用通俗的语言表达下。

7 个回复

倒序浏览
EventArgs是包含事件数据的类的基类,用于传递事件的细节。
EventHandler是一个委托声明如下
public delegate void EventHandler( object sender , EventArgs e )
这里的参数,前者是一个对象(其实这里传递的是对象的引用,如果是button1的click事件则sender就是button1),后面是包含事件数据的类的基类。
回复 使用道具 举报
触发对象
回复 使用道具 举报
Sender是激发这个事件的对象。如你在点击Menu的,那么Menu的Onclick事件中Sender就是这个TMenuItem。如果是点击Button,那么Onclick时间中的Sender就是这个Button。
回复 使用道具 举报
触发事件的当前控件, 例如:
private void button_Click(object sender, RoutedEventArgs e)
触发button_Click的控件就是sender
回复 使用道具 举报
有一个EventHandler ,他会告诉主程序,有一些事情发生了:这个事情是谁导致的呢?是某个object类型对象导致的,它用Sender来表示。而e的内容就是事情的内容了
回复 使用道具 举报
在你的窗体中添加一个Label,双击Label的MouseClick事件。添加如下方法:
            private void label1_MouseClick(object sender, MouseEventArgs e)
        {
            Label senderLabel = (Label)sender;//根据sender引用控件。
            senderLabel.Text = e.Button.ToString();//根据e中的Button参数,判断是左键还是右键。
        }
然后在窗体中单击你的Label,就会显示你单击的鼠标的按键Rigle或者Left。
回复 使用道具 举报
sender表示你产生事件的对象,它是Object类型的。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马