谁能解释一下c#中的'事件'的用法

来源:百度知道 编辑:UC知道 时间:2024/05/06 09:47:01
谁能帮我讲解一下c#中事件是怎么回事?我看了基本资料都没搞懂,说具体点,通俗易懂点

事件(event)

  1. 可以把事件编程简单地分成两个部分:事件发生的类(书面上叫事件发生器)和事件接收处理的类。

  2. 事件发生的类就是说在这个类中触发了一个事件,但这个类并不知道哪个个对象或方法将会加收到并处理它触发的事件。所需要的是在发送方和接收方之间存在一个媒介。这个媒介在.NET Framework中就是委托(delegate)。

  3. 在事件接收处理的类中,需要有一个处理事件的方法。就按照这个顺序来实现一个捕获键盘按键的程序,来一步一步说明如何编写事件应用程序。

具体应用:

internal class KeyInputMonitor
{
    // 创建一个委托,返回类型为void,两个参数
    public delegate void KeyDownHandler( object sender, KeyEventArgs e );
    // 将创建的委托和特定事件关联,在这里特定的事件为KeyDown
    public event KeyDownHandler KeyDown;

    public void Run()
    {
        bool finished = false;
        do
        {