Csharp/C#教程:C#自定义事件及用法实例分享

本文实例讲述了C#自定义事件及用法。分享给大家供大家参考。具体分析如下:

事件是C#中一个重要的内容,MSDN上有一个自定义事件的演示示例。我看了半天有点晕,所以新建了一个winform工程添加了一个按钮,然后找出调用的程序,一对比做了一个类似的示例,就明白了。看代码有时候比看文档来得更快。
所以还是一贯的原则,来干的,不来稀的。

usingSystem; namespaceTestEventArgs { ///<summary> ///这个类对应于EventArgs,做对比学习。 ///添加两个内容:info1,info2。 ///</summary> publicclassMyEventArgs:EventArgs { privateStringinfo1; privateUInt32info2; publicMyEventArgs(Stringinfo1,UInt32info2) { this.info1=info1; this.info2=info2; } publicStringInfo1 { get{returnthis.info1;} set{this.info1=value;} } publicUInt32Info2 { get{returnthis.info2;} set{this.info2=value;} } } ///<summary> ///仿真Button按钮 ///</summary> publicclassMyButton { publicdelegatevoidMyEvnetHandler(objectsender,MyEventArgse); ///<summary> ///按钮点击的次数计数器 ///</summary> publicstaticUInt32clicked_num=0; publiceventMyEvnetHandlerMyClick; publicvoid触发() { MyEventArgsarg=newMyEventArgs(DateTime.UtcNow.ToString(),++clicked_num); MyClick(this,arg); } } ///<summary> ///仿真Form窗体 ///</summary> publicclassMyForm { publicMyButton按钮; publicMyForm() { 按钮=newMyButton(); 按钮.MyClick+=newMyButton.MyEvnetHandler(this.button_Clicked); } publicvoidbutton_Clicked(objectsender,MyEventArgse) { Console.WriteLine("buttonclicked(senderis:"+sender.ToString()+";info1=" +e.Info1+";info2="+e.Info2); } } classProgram { staticvoidMain(string[]args) { MyForm窗体=newMyForm(); for(inti=0;i<10;i++) { 窗体.按钮.触发(); System.Threading.Thread.Sleep(500); } Console.WriteLine("Pressanykeytocontinue..."); Console.ReadKey(); } } }

希望本文所述对大家的C#程序设计有所帮助。

上述就是C#学习教程:C#自定义事件及用法实例分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)! 您可能感兴趣的文章:C#自定义事件模拟风吹草摇摆效果C#自定义事件之属性改变引发事件示例在C#使用字典存储事件示例及实现自定义事件访问器C#自定义事件监听实现方法C#中自定义事件和委托实例asp.net中c#自定义事件的实现方法详解c#在程序中定义和使用自定义事件方法

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/906395.html

(0)
上一篇 2021年10月23日
下一篇 2021年10月23日

精彩推荐