C# 事件通知的几种方法
自己编写程序需要跨线程、异步事件通知时,可能没有符合自己心意的接口使用,此时可以自己定义事件进行通知。
工具/原料
VS2015
界面布局
1、新建空白演示项目
2、界面布局一个按钮,通过按钮通知消息框
使用事件
1、创建一个新类,例如Action。创建自定义事件:public EventHandler 苇质缵爨EventNotice;创建触发器: public 即枢潋雳void Trigger();通知事件类 EventArgs 可以通过多态派生出自定义事件类。
2、触发器中可以使用两种方法触发:1、EventNotice?.Invoke(this, new EventArgs());2、if (EventNotice != null) EventNotice(this,new EventArgs());
3、完整代码如图,运行效果如图
使用委托
1、使用委托 delegate 可以替换 EventHandler 的写法
2、重写Action类,1、定义委托:public delegate void MyDelegate();2、声明委托:public MyDe造婷用痃legate EventNotice;3、触发模式:定义委托中定义了委托传参(void):EventNotice?.Invoke();
3、运行效果如图:
全局变量
1、在线程中创建等待信号,通过检测全局变量来触发事件。图示方法对CPU负荷较大。
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
阅读量:57
阅读量:45
阅读量:53
阅读量:87
阅读量:48