什么初始化引发事件中的sender和eventArgs?

时间:2011-02-20 16:38:43

标签: c# events

我知道事件是如何运作的(基础知识)。我想了解,例如,有鼠标点击或绘制事件,什么初始化PaintEventArgs参数?那是一些潜在的低级机制?

1 个答案:

答案 0 :(得分:3)

嗯,事件参数由暴露事件的对象初始化。

让我们以Button为例。

当它被点击时,按钮本身会检测到它,因此调用事件处理程序传递,例如,按下了哪个按钮(这里是伪代码,只是为了解释):

this.MouseDown(this, new MouseEventArgs(MouseButtons.Right));

Paint事件也是如此:
当控件检测到需要重绘时,创建一个图形对象,在其中绘制其结构,然后通过Paint参数将其传递给PaintEventArgs事件。