C#中事件的参数问题

来源:百度知道 编辑:UC知道 时间:2024/05/21 16:06:47
private void Form1_Load(object sender, EventArgs e)

e 和 sender是什么来的啊?有什么用?

sender和event arguments,就是谁发送的,还有,发送时候附带了什么信息。

事件处理代码也就是谁在那儿点击了按钮或干了这个那个的时候,我们相应的做什么。
比如:
110接到举报,得知道谁发送的,还有具体啥事

接到举报:芙蓉姐姐打来电话说有人要QJ我,
sender就是“芙蓉”,
EventArgs e里就包括有个“想QJ芙蓉”这个信息。

后来,警察一听就挂了,不可能的事儿嘛。也就等于在事件处理代码里啥都没写。(事件的订阅机制)

本质点的例子:
蚊子叮了你手指头一口,你那根可怜的手指就是 sender,你可以显式转换它,如 (Finger)sender 。
这时你可能会感到痒、难受,这就是 sender 引发事件时的委托方法传递给你的 EventArgs,不过 EventArgs 是个基类,其实不包含任何事件数据,也就是没感觉。但委托方法可以传递 EventArgs 的派生类以提供附加的事件数据,如定义一个 BitenEventArgs,这样你就有感觉了 。

//要理解委托,再看事件才能理解哦,还是比较难的地方。(委托挺难弄懂的喔)

sender 和e的作用就是告诉程序,谁做了什么.
sender--谁.
e---做了什么.

当方法执行时,你的动作被windows捕获,windows把这个动作作为系统消息发送给程序,程序从自己的消息队列中不断的取出消息,并在消息循环中寻找对应的处理方式,这时message结构中的类似于sender和e的东东就起到了引导程序使用正确的处理函数的作用。

sender和e及其一整套的处理方式,是windows消息机制的另外一种表现