C#自定義事件及用法實例
更新時間:2015年05月07日 12:20:05 作者:靈魂
這篇文章主要介紹了C#自定義事件及用法,實例分析了C#中自定義事件的定義與使用技巧,需要的朋友可以參考下
本文實例講述了C#自定義事件及用法。分享給大家供大家參考。具體分析如下:
事件是C#中一個重要的內容,MSDN上有一個自定義事件的演示示例。我看了半天有點暈,所以新建了一個winform工程添加了一個按鈕,然后找出調用的程序,一對比做了一個類似的示例,就明白了??创a有時候比看文檔來得更快。
所以還是一貫的原則,來干的,不來稀的。
using System; namespace TestEventArgs { /// <summary> /// 這個類對應于EventArgs,做對比學習。 /// 添加兩個內容:info1,info2。 /// </summary> public class MyEventArgs : EventArgs { private String info1; private UInt32 info2; public MyEventArgs(String info1, UInt32 info2) { this.info1 = info1; this.info2 = info2; } public String Info1 { get { return this.info1; } set { this.info1 = value; } } public UInt32 Info2 { get { return this.info2; } set { this.info2 = value; } } } /// <summary> /// 仿真Button按鈕 /// </summary> public class MyButton { public delegate void MyEvnetHandler(object sender, MyEventArgs e); /// <summary> /// 按鈕點擊的次數(shù)計數(shù)器 /// </summary> public static UInt32 clicked_num = 0; public event MyEvnetHandler MyClick; public void 觸發(fā)() { MyEventArgs arg = new MyEventArgs(DateTime.UtcNow.ToString(), ++clicked_num); MyClick(this, arg); } } /// <summary> /// 仿真Form窗體 /// </summary> public class MyForm { public MyButton 按鈕; public MyForm() { 按鈕 = new MyButton(); 按鈕.MyClick += new MyButton.MyEvnetHandler(this.button_Clicked); } public void button_Clicked(object sender, MyEventArgs e) { Console.WriteLine("button clicked(sender is:" + sender.ToString() + "; info1 = " + e.Info1 + "; info2 = " + e.Info2); } } class Program { static void Main(string[] args) { MyForm 窗體 = new MyForm(); for (int i = 0; i < 10; i++ ) { 窗體.按鈕.觸發(fā)(); System.Threading.Thread.Sleep(500); } Console.WriteLine("Press any key to continue..."); Console.ReadKey(); } } }
希望本文所述對大家的C#程序設計有所幫助。
相關文章
C#使用OpenCvSharp4實現(xiàn)讀取本地視頻
OpenCvSharp4庫是一個基于.Net封裝的OpenCV庫,這篇文章主要介紹了C#使用OpenCvSharp4實現(xiàn)讀取本地視頻的詳細教程,有需要的小伙伴可以參考下2024-01-01C#中的靜態(tài)成員、靜態(tài)方法、靜態(tài)類介紹
本文主要介紹了C#中的靜態(tài)成員、靜態(tài)方法、靜態(tài)類的基礎的使用,并做了相關的代碼演示,供初學者參考。2016-03-03C#實現(xiàn)獲取多維數(shù)組的行數(shù)與列數(shù)
這篇文章主要為大家詳細介紹了C#如何分別使用Array.GetUpperBound方法和Array.GetLength方法實現(xiàn)獲取多維數(shù)組的行數(shù)與列數(shù),需要的可以參考下2024-02-02C# .net core HttpClientFactory用法及說明
這篇文章主要介紹了C# .net core HttpClientFactory用法及說明,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-11-11