vb.net eventargs sender and e

1905人阅读 评论(0) 收藏 举报

eventargs是包含事件数据的类的基类,用于传递事件的细节。

一般在源码中是以这样的情况出现的:protected void EventHandler(object sender, EventArgs e)

EventArgs是一个委托声明,这里的参数,前者是一个对象(其实这里传递的是对象的引用,如果是button1的click事件则sender就是button1),后面是包含事件数据的类的基类。

其实简单点说就是对象(object)sender导致了某个事件的发生,事件的内容就是(e)

在程序中的事件处理函数就是依赖EventHandler实现的:

比方说你点了一个按钮,程序怎么知道应该用哪个函数来处理这个动作呢?那么EventHandler会告诉程序:"button1(sender)被点击(e)了,请调用对应的处理函数"。当然这个函数是谁,这个函数要做什么,是由你自己写的。

再深入一层,这个过程实际上就是:你的动作被windows捕获,windows把这个动作作为系统消息发送给程序(可以看message结构),程序从自己的消息队列中不断的取出消息,并在消息循环中寻找对应的处理方式,这时message结构中的类似于sender和e就起到了引导程序使用正确的处理函数的作用。

归根究底,这个sender和e及其一整套的处理方式,只不过是windows消息机制的另外一种表现

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:720450次
    • 积分:8148
    • 等级:
    • 排名:第2456名
    • 原创:94篇
    • 转载:70篇
    • 译文:11篇
    • 评论:525条
    最新评论