



下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第C#事件中關(guān)于sender的用法解讀目錄C#事件sender的小用法一、什么是sender二、小用法C#事件中sender和e參數(shù)的理解
C#事件sender的小用法
開WPF新坑了,看了WPF的炫酷界面,再看看winForm實(shí)在是有些慘不忍睹(逃)。后面會開始寫一些短的學(xué)習(xí)筆記。
一、什么是sender
sender最常見到的情況就是下圖參數(shù)列表中的這個(gè)了可能平時(shí)沒多少注意。
privatevoidButton_Click(objectsender,RoutedEventArgse)
//……blahblahblah
}
sender我們很容易猜到肯定是例子中觸發(fā)單擊事件的那個(gè)button控件,它類型是object。C#里的繼承關(guān)系是所有類的基類,萬物基于object(滑稽),所以控件同樣也是繼承與object的,所以將sender進(jìn)行類型轉(zhuǎn)換就能直接得到觸發(fā)事件的控件對象。
privatevoidButton_Click(objectsender,RoutedEventArgse)
Buttonbtn=(Button)sender;
btn.Content="我被點(diǎn)擊了";
}
將sender進(jìn)行類型轉(zhuǎn)換后,就能夠直接對button1的屬性進(jìn)行更改,所以sender是當(dāng)前觸發(fā)事件的控件。
二、小用法
知道了sender是什么后,我們就可以開始加以小小的應(yīng)用了。
我首先想到的就是,當(dāng)有多個(gè)控件需要觸發(fā)相同的事件時(shí),使用sender來獲取當(dāng)前觸發(fā)事件的控件,可以在同一個(gè)方法中進(jìn)行事件的響應(yīng),能夠使代碼的重用性提高,也能更簡潔
下面用一個(gè)小小的例子來解釋(當(dāng)然這個(gè)只是我暫時(shí)先想到的應(yīng)用)。
界面很簡單,按照以往的設(shè)計(jì)習(xí)慣,需要將兩個(gè)button的單擊事件分開來寫,彈出是誰被點(diǎn)擊的提示。而現(xiàn)在可以利用sender實(shí)現(xiàn)只用一個(gè)button_Click事件,就可以顯示是誰被點(diǎn)擊了。
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Linq;
usingSystem.Text;
usingSystem.Threading.Tasks;
usingSystem.Windows;
usingSystem.Windows.Controls;
usingSystem.Windows.Data;
usingSystem.Windows.Documents;
usingSystem.Windows.Input;
usingSystem.Windows.Media;
usingSystem.Windows.Media.Imaging;
usingSystem.Windows.Navigation;
usingSystem.Windows.Shapes;
namespaceWPFLittleTips
///
///MainWindow.xaml的交互邏輯
///
publicpartialclassMainWindow:Window
publicMainWindow()
InitializeComponent();
privatevoidbtnObj1_Click(objectsender,RoutedEventArgse)
Buttonbtn=(Button)sender;
if(btn==btnObj1)
MessageBox.Show("Btn1被點(diǎn)擊了");
else
MessageBox.Show("Btn2被點(diǎn)擊了");
}
單擊后的效果應(yīng)該都能想到了,就不貼圖了。
應(yīng)該sender的應(yīng)用還很多,突然發(fā)現(xiàn)以前都沒有注意到的小東西,利用起來還是很有用的。
C#事件中sender和e參數(shù)的理解
sender是事件源,表示觸發(fā)事件的那個(gè)組件,比如說你按下按鈕,那么sender就是按鈕
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 編程實(shí)踐中的常見挑戰(zhàn)與解決方案試題及答案
- 測試數(shù)據(jù)管理的策略試題及答案
- 嵌入式軟件開發(fā)流程解析試題及答案
- C語言與高性能計(jì)算的關(guān)系試題及答案
- 計(jì)算機(jī)一級Msoffice知識梳理試題及答案
- 店鋪?zhàn)赓U合同協(xié)議書樣本
- 員工餐飲合同協(xié)議書范本
- 單方解除工程合同協(xié)議書
- 解除勞動合同協(xié)議書移交
- 計(jì)算機(jī)四級編程語言學(xué)習(xí)路徑試題及答案
- 山東省濟(jì)南市2025屆高三三?;瘜W(xué)試卷(含答案)
- 延長縣黑家堡共大灘防洪工程環(huán)境影響評價(jià)報(bào)告書
- 2022年新高考全國I卷數(shù)學(xué)真題
- 一氧化氮和二氧化氮檢測儀校準(zhǔn)規(guī)范
- 山西、陜西、寧夏、青海四省區(qū)普通高中新高考2025屆高三質(zhì)量檢測 數(shù)學(xué)試題(含解析)
- 初三志愿填報(bào)家長會課件
- 糧食收購合同協(xié)議書范本
- 枯木砍伐施工方案
- 2025-2030中國醫(yī)用多導(dǎo)睡眠監(jiān)測儀行業(yè)發(fā)展?jié)摿υu估及市場前景預(yù)判研究報(bào)告
- 2025-2030中國無人機(jī)行業(yè)市場發(fā)展分析及前景預(yù)測與投資研究報(bào)告
- 銀行資產(chǎn)負(fù)債管理的重要性試題及答案
評論
0/150
提交評論