object sender,EventArgs e的一些讲解

来源:互联网 发布:win10 杀毒软件 知乎 编辑:程序博客网 时间:2024/06/05 04:07

通俗的讲就是:
有一个叫做EventHandler的家伙,它会告诉你(主程序),有一些事情发生了:这个事情是由某个object类型的对象导致的,它用Source或Sender来表示。这个事情的内容用e来表示。至于Source和Sender是一样一样滴,用哪个都可以。
所以,我们在程序中的事件处理函数就是依赖于这个东西实现的:比如你点击了一个按钮,程序怎么知道应该用哪个函数来处理这个动作呢?那么EventHandler这个家伙会告诉程序:Button1(通过sender获取的)被点击(用e表示点击)了,请调用对应的处理函数。当然这个函数的定义就由你自己来写了。
再深入一层,这个过程实际上就是:你的动作被Windows捕获,Windows把这个动作作为系统消息发送给程序(可以看message结构),程序从自己的消息队列中不断的取出消息,并在消息循环中寻找对应的处理方式,这时message 结构中的类似于sender和e的东东就起到引导程序使用正确的处理函数的作用。
归根结底,这个 sender和e及其一整套的处理方式,只不过是windows消息机制的另外一种表现罢了。
在C#.NET中
object sender 发出事件的对象
System.EventArgs e对象中的数据
如果是按钮button的话,那 sender就是那个button,
e是事件参数,在某些事件中,e用处不大,比如在MouseEventArgs的Mouse事件中,可以看到e包括mouse的坐标值等,以供你的程序使用。
这是在网上看的的文章,是自己看着文章敲出来的,所以也算是自己半原创的吧 O(∩_∩)O~

原创粉丝点击