温馨提示×

c# sender如何处理多个事件源

c#
小樊
83
2024-07-26 17:35:11
栏目: 编程语言

在C#中,可以使用委托和事件来处理多个事件源。首先,需要定义一个委托来处理事件的方法:

public delegate void MyEventHandler(object sender, EventArgs e);

然后,在事件发送方的类中定义事件:

public event MyEventHandler MyEvent;

接下来,在事件发送方类中触发事件:

public void RaiseMyEvent()
{
    MyEvent?.Invoke(this, EventArgs.Empty);
}

最后,在事件接收方的类中订阅事件:

// 假设有两个事件发送方类:EventSource1和EventSource2
EventSource1 source1 = new EventSource1();
EventSource2 source2 = new EventSource2();

source1.MyEvent += MyEventHandlerMethod;
source2.MyEvent += MyEventHandlerMethod;

public void MyEventHandlerMethod(object sender, EventArgs e)
{
    // 处理事件的逻辑
}

通过这种方式,可以方便地处理多个事件源发送的事件。当任何一个事件发送方触发事件时,订阅了该事件的事件接收方类中的MyEventHandlerMethod方法会被调用。

0