4

关于C#事件处理函数中的参数

 3 years ago
source link: http://developer.51cto.com/art/202102/644987.htm
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

1、是事件源,表示触发事件的那个组件

如(button/label/listview...),比如说你单击button,那么sender就是button

2、EventArgs是事件参数,它用来辅助你处理事件

比如说你用鼠标点击窗体,那么EventArgs是会包含点击的位置等等

例:

private void label1_MouseClick(object sender, MouseEventArgs e)

{

Label senderLabel = (Label)sender; // 根据sender引用控件

senderLabel.Text = e.Button.ToString(); // 根据e中的button参数,判断是左键按下还是右键

}

3. e代表事件对象,里面有该事件的信息...... e只是习惯的名称,当然你也可以命名为其它的,你写成 a b c d f g h i j都可以。

4. e是一个类,存事件要用的数据。不同的事件e可能不同

TreeNodeMouseClickEventArgs有下面几个属性(来自MSDN):

名称 说明

Button 获取曾按下的是哪个鼠标按钮。 (继承自 MouseEventArgs。)

Clicks 获取按下并释放鼠标按钮的次数。 (继承自 MouseEventArgs。)

Delta 获取鼠标轮已转动的制动器数的有符号计数。制动器是鼠标轮的一个凹口。 (继承自 MouseEventArgs。)

Location 获取鼠标在产生鼠标事件时的位置。 (继承自 MouseEventArgs。)

Node 获取被单击的节点。

X 获取鼠标在产生鼠标事件时的 x 坐标。 (继承自 MouseEventArgs。)

Y 获取鼠标在产生鼠标事件时的 y 坐标。 (继承自 MouseEventArgs。)

5. 不同的事件的这个e的内容不同,例如鼠标移动的事件就会包含鼠标的X,Y坐标信息等,如果是键盘事件,这个e里面会包含你当前是按的哪个键的信息,有没有按Ctrl键、Alt键等等。

这就是事件发生时的一些参数情况。不同的事件,这个参数是不同的类型,包含的信息也不同。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK