免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
c# 事件 EventHandler
 1     /// <summary> 2     /// 事件:EventHanler 3     /// 用戶在單擊win窗口中的如按鈕,復(fù)選框等,就會引發(fā)事件,我們要寫代碼去處理這些事件。實現(xiàn) 處理事件的 事件處理程序 4     /// 在.Net里,有委托實現(xiàn)事件,具有事件的對象為:發(fā)布者。訂閱事件(處理事件)的為訂閱者。 5     /// 當(dāng)對象提供事件時,它會定義一個委托,則希望處理該事件的對象必須為這個委托提供函數(shù),該委托稱為事件,而處理該委托的函數(shù)稱為事件處理程序 6     /// 如,當(dāng)你創(chuàng)建button并雙擊它時,就會自動添加一個事件處理程序。 7     /// </summary> 8     class Program 9     {10         /// <summary>11         /// 下面是一個Timer類處理事件12         /// </summary>13         /// <param name="args"></param>14         static void Main(string[] args)15         {16             Timer t=new Timer(1000);//對象t17             t.Elapsed+=new ElapsedEventHandler(t_ela);//對象t的一個事件,t_ela為事件t.Elapsed的處理程序18             t.Start();19             Console.ReadLine();20         }21         static void t_ela(object sender, ElapsedEventArgs e)//相關(guān)的簽名一定要一樣。22         {23             Console.SetCursorPosition(0,0);24             Console.WriteLine(DateTime.Now);25         }26     }
 1         /// <summary> 2         /// 下面是一個FileSystemWatcher類處理事件 3         /// </summary> 4         /// <param name="args"></param> 5         static void Main(string[] args) 6         { 7             FileSystemWatcher fSysW=new FileSystemWatcher() 8                 { 9                     Path = @"c:\",10                     Filter = "*.txt"11                 }; 12             //---wire up the event handlers----13             fSysW.Deleted += new FileSystemEventHandler(fSysW_Deleted);14             fSysW.Renamed += new RenamedEventHandler(fSysW_Renamed);//這個事件有些特別15             fSysW.Changed += new FileSystemEventHandler(fSysW_Changed);16             fSysW.Created += new FileSystemEventHandler(fSysW_Created);17 18             fSysW.EnableRaisingEvents = true;19             Console.ReadLine();20         }21         static void fSysW_Deleted(object sender, FileSystemEventArgs e)22         {23             Console.WriteLine("fSysW_Deleted" + e.FullPath);24         }25         static void fSysW_Renamed(object sender, RenamedEventArgs e)26         {27             Console.WriteLine("fSysW_Renamed" + e.FullPath);28         }29         static void fSysW_Changed(object sender, FileSystemEventArgs e)30         {31             Console.WriteLine("fSysW_Changed" + e.FullPath);32         }33         static void fSysW_Created(object sender, FileSystemEventArgs e)34         {35             Console.WriteLine("fSysW_Created" + e.FullPath);36         }
 1         /// <summary> 2         /// 下面是一個自定義類處理事件 3         ///  4         /// </summary> 5         /// <param name="args"></param> 6         private static void Main(string[] args) 7         { 8             AlarmClock c=new AlarmClock()                           //創(chuàng)建這個類的對象 9             {10                 AlarmTime = new DateTime(2013, 4, 22, 21, 04, 0, 0) //初使化它的時間11             };12             c.Start();                                              //開始里面的Timer13             //調(diào)用里面的事件,這個事件是在時間到了的時候調(diào)用,而具體請看類14             c.TimesUp+=new EventHandler(c_TimesUp);                 15             Console.ReadLine();16         }17         static void c_TimesUp(object sender, EventArgs e)18         {19             Console.WriteLine("Times up!");20         }21 22       23     }24 25     class AlarmClock26     {27         private Timer t;28         public DateTime AlarmTime { get; set; }29         public void Start()30         {31             t.Start();32         }33         public AlarmClock()34         {35             t=new Timer(100);36             t.Elapsed+=new ElapsedEventHandler(t_Elapsed);37         }38         void t_Elapsed(object sender, ElapsedEventArgs e)39         {40             if (DateTime.Now >= this.AlarmTime)41             {42                 onTimeUp(new EventArgs());          //當(dāng)時間到了的時候,調(diào)用類的事件43                 t.Stop();44             }45         }46         //EventHandler是預(yù)定義的委托,該語句定義TimesUp為類的事件47         public event EventHandler TimesUp;48         protected virtual void onTimeUp(EventArgs e)//注意,上面那個和下面這個是一體的49         {50             if (TimesUp != null)                    //當(dāng)時間到了的事件,就會調(diào)用這個事件,而具體是怎么實現(xiàn)的,由這個類的對象決定。51                 TimesUp(this, e);52         }
 1         /// <summary> 2         /// 事件與委托,這是一個非常重要的東西 3         /// 學(xué)好了還要學(xué)會怎么用才對! 4         /// </summary> 5         /// <param name="args"></param> 6         private static void Main(string[] args) 7         { 8             AlarmClock c=new AlarmClock()                           //創(chuàng)建這個類的對象 9             {10                 Message = "Meeting with customer",11                 AlarmTime = new DateTime(2013, 4, 22, 22, 01, 0, 0) //初使化它的時間12             };13             c.Start();                                              //開始里面的Timer14             //調(diào)用里面的事件,這個事件是在時間到了的時候調(diào)用,而具體請看類15             //其中,TimesUp對應(yīng)事件名稱:16             c.TimesUp+=new AlarmClockEventHandler(c_TimesUp);                 17             Console.ReadLine();18         }19         static void c_TimesUp(object sender, AlarmClockEventArgs e)20         {21             Console.WriteLine(DateTime.Now.ToShortTimeString()+" : "+e.Message);//可以包含參數(shù)了!22         }23     }24 25     //定義一個全新的事件類26     public class AlarmClockEventArgs:EventArgs27     {28         public AlarmClockEventArgs(string Message)//構(gòu)造29         {30             this.Message = Message;31         }32         public string Message { get; set; }33     }34 35     //定義一個委托,其中包含有上面的事件類型作參數(shù),難道事件的承載都是委托????!36     public delegate void AlarmClockEventHandler(object sender, AlarmClockEventArgs e);37 38     class AlarmClock39     {40         private Timer t;41         public DateTime AlarmTime { get; set; }42         public string Message { get; set; }43 44         public AlarmClock()45         {46             t = new Timer(100);47             t.Elapsed += new ElapsedEventHandler(t_Elapsed);48         }49         public void Start()50         {51             t.Start();52         }53       54         void t_Elapsed(object sender, ElapsedEventArgs e)55         {56             if (DateTime.Now >= this.AlarmTime)57             {58                 onTimeUp(new AlarmClockEventArgs(this.Message));          //當(dāng)時間到了的時候,調(diào)用類的事件59                 t.Stop();60             }61         }62         //AlarmClockEventHandler是預(yù)定義的委托,該語句定義TimesUp為類的事件63         public event AlarmClockEventHandler TimesUp;64         protected virtual void onTimeUp(AlarmClockEventArgs e)//注意,上面那個和下面這個是一體的65         {66             if (TimesUp != null)                    //當(dāng)時間到了的事件,就會調(diào)用這個事件,而具體是怎么實現(xiàn)的,由這個類的對象決定。67                 TimesUp(this, e);68         }69     }    
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
C# 給類做事件的一般做法
C#多線程:異步事件調(diào)用
一步一步學(xué)習(xí)C#(五 委托與事件)
c++仿C# event
進一步接觸C#委托與事件 - 51CTO.COM
徹底弄懂C#中delegate、event、EventHandler、Action、Func的使用和區(qū)別
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服