C# 事件通知的几种方法

时间:2024-10-12 20:55:35

自己编写程序需要跨线程、异步事件通知时,可能没有符合自己心意的接口使用,此时可以自己定义事件进行通知。

C# 事件通知的几种方法

工具/原料

VS2015

界面布局

1、新建空白演示项目

C# 事件通知的几种方法

2、界面布局一个按钮,通过按钮通知消息框

C# 事件通知的几种方法

使用事件

1、创建一个新类,例如Action。创建自定义事件:public EventHandler 苇质缵爨EventNotice;创建触发器: public 即枢潋雳void Trigger();通知事件类 EventArgs 可以通过多态派生出自定义事件类。

C# 事件通知的几种方法

2、触发器中可以使用两种方法触发:1、EventNotice?.Invoke(this, new EventArgs());2、if (EventNotice != null) EventNotice(this,new EventArgs());

C# 事件通知的几种方法

3、完整代码如图,运行效果如图

C# 事件通知的几种方法

使用委托

1、使用委托 delegate 可以替换 EventHandler 的写法

2、重写Action类,1、定义委托:public delegate void MyDelegate();2、声明委托:public MyDe造婷用痃legate EventNotice;3、触发模式:定义委托中定义了委托传参(void):EventNotice?.Invoke();

C# 事件通知的几种方法

3、运行效果如图:

C# 事件通知的几种方法

全局变量

1、在线程中创建等待信号,通过检测全局变量来触发事件。图示方法对CPU负荷较大。

C# 事件通知的几种方法
© 手抄报圈