


下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第關(guān)于C#中GUI編程的標準事件問題昨天的文章,帶大家簡單學(xué)習(xí)C#中的事件,了解訂閱者和發(fā)布者之間的邏輯關(guān)聯(lián),也通過小案例進行實際操作,可以看到具體的輸出結(jié)果。
目前在工作中,使用Winform桌面開發(fā)比較多,很多時候就會用到事件,此時這里的事件用法有一個俗稱叫GUI編程。
在程序運行時,它可以在任何時候被打斷,比如按鈕點擊,按下按鍵或系統(tǒng)定時器。在這些情況發(fā)生時,程序需要處理事件然后繼續(xù)其他事情。
在WindowsGUI編程中經(jīng)常會用到程序事件的異步處理。
什么是GUI中的標準事件
這種程序事件.NET框架提供一個標準模式。使用System命名空間下的EventHandler委托類型。
publicdelegatevoidEventHandler(objectsender,EventArgse)
其中關(guān)于聲明EventHandle委托類型,這里需要注意以下三點:
第一個參數(shù)用于保存觸發(fā)事件的對象的引用第二個參數(shù)用于保存狀態(tài)信息,指明什么類型適用于該應(yīng)用程序返回類型是void
關(guān)于第二個參數(shù)類型EventArgs這里特別需要說明下,它不是為了傳遞參數(shù)而設(shè)計的,當(dāng)它用于不需要傳遞參數(shù)的事件處理程序時該忽略,如果需要傳遞參數(shù)那么就必須聲明一個派生自EventArgs的類,使用合適的字段來保存需要傳遞的數(shù)據(jù)
不管參數(shù)使用的實際類型是什么,Object類和EventArgs類都是基類。這樣EventHandler就可提供一個對所有事件和事件處理器都通用的簽名,只有兩個參數(shù),而不是各自都有不同的簽名。
標準事件的用法
這里還繼續(xù)對昨天文章中的案例進行修改,阿輝訂閱了報社的報紙,當(dāng)報社發(fā)報時,阿輝就能收到報紙進行閱讀。
這里需要注意:
聲明系統(tǒng)定義時使用EventHandler替換Handler阿輝訂閱者中的事件處理程序簽名應(yīng)和事件委托的簽名匹配(不傳遞數(shù)據(jù)時可忽略)觸發(fā)事件的代碼在調(diào)用時必須使用適當(dāng)?shù)膮?shù)類型對象
報社
///summary
///報社
////summary
classNewspaperOffice
publiceventEventHandlerStartPublishPaper;//1、聲明事件
publicvoidPublish()
Console.WriteLine("已發(fā)布報紙!");
StartPublishPaper(this,null);//3、觸發(fā)事件,通知訂閱者收報紙進行閱讀
}
阿輝訂閱者
///summary
///阿輝訂閱者
////summary
classAhuiPeople
publicAhuiPeople(NewspaperOfficenpo)
npo.StartPublishPaper+=SubscriptinPaper;//2、訂閱事件
voidSubscriptinPaper(objectsender,EventArgse)
Console.WriteLine("阿輝接收到報紙,開始閱讀!");
}
觸發(fā)事件開始發(fā)報
staticvoidMain(string[]args)
NewspaperOfficenpo=newNewspaperOffice();
AhuiPeopleahuiPeople=newAhuiPeople(npo);
//報社發(fā)報
Console.WriteLine("報社計劃開始發(fā)報!");
npo.Publish();
Console.ReadKey();
}
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 白砂糖全自動拆垛破包機器人 粉料拆包機械手
- 生產(chǎn)、加工、制作合同
- 寫作(解析版+原卷版)-2026年中考語文復(fù)習(xí)暑假體驗練(廣東版)解析版
- 2025年光伏知識考核試題(附答案)
- 閱讀理解記敘文、應(yīng)用文(專項訓(xùn)練)-2026年高考英語一輪復(fù)習(xí)(上海專用)解析版
- 小升初英語專項復(fù)習(xí):完形填空
- 中藥材生長周期管理考核試卷
- 整合績效評估考核試卷
- 心理壓力管理與心理健康支持考核試卷
- 深度學(xué)習(xí)前沿技術(shù)考核試卷
- 二元應(yīng)對護理模式
- 盲盒經(jīng)濟中稀缺性感知對成癮性消費的神經(jīng)機制論文
- 口腔科院感知識課件
- 第二章 臨床血液學(xué)檢驗
- 2025年大學(xué)生英語六級必考詞匯表全部匯編(帶音標)
- GB/T 28572-2025大中型水輪機進水閥門規(guī)格及技術(shù)參數(shù)
- 《鄉(xiāng)村旅游規(guī)劃與實踐》課件-項目七 鄉(xiāng)村旅游商品開發(fā)與設(shè)計
- 工程項目管理工作流程圖
- 2025年山東光明電力服務(wù)公司招聘筆試參考題庫含答案解析
- 2024指紋鎖智能家居系統(tǒng)定制開發(fā)合同范本3篇
- 學(xué)校體育教學(xué)與心理健康教育融合策略
評論
0/150
提交評論