C#事件中關(guān)于sender的用法解讀_第1頁
C#事件中關(guān)于sender的用法解讀_第2頁
C#事件中關(guān)于sender的用法解讀_第3頁
C#事件中關(guān)于sender的用法解讀_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

第C#事件中關(guān)于sender的用法解讀目錄C#事件sender的小用法一、什么是sender二、小用法C#事件中sender和e參數(shù)的理解

C#事件sender的小用法

開WPF新坑了,看了WPF的炫酷界面,再看看winForm實在是有些慘不忍睹(逃)。后面會開始寫一些短的學(xué)習(xí)筆記。

一、什么是sender

sender最常見到的情況就是下圖參數(shù)列表中的這個了可能平時沒多少注意。

privatevoidButton_Click(objectsender,RoutedEventArgse)

//……blahblahblah

}

sender我們很容易猜到肯定是例子中觸發(fā)單擊事件的那個button控件,它類型是object。C#里的繼承關(guān)系是所有類的基類,萬物基于object(滑稽),所以控件同樣也是繼承與object的,所以將sender進行類型轉(zhuǎn)換就能直接得到觸發(fā)事件的控件對象。

privatevoidButton_Click(objectsender,RoutedEventArgse)

Buttonbtn=(Button)sender;

btn.Content="我被點擊了";

}

將sender進行類型轉(zhuǎn)換后,就能夠直接對button1的屬性進行更改,所以sender是當前觸發(fā)事件的控件。

二、小用法

知道了sender是什么后,我們就可以開始加以小小的應(yīng)用了。

我首先想到的就是,當有多個控件需要觸發(fā)相同的事件時,使用sender來獲取當前觸發(fā)事件的控件,可以在同一個方法中進行事件的響應(yīng),能夠使代碼的重用性提高,也能更簡潔

下面用一個小小的例子來解釋(當然這個只是我暫時先想到的應(yīng)用)。

界面很簡單,按照以往的設(shè)計習(xí)慣,需要將兩個button的單擊事件分開來寫,彈出是誰被點擊的提示。而現(xiàn)在可以利用sender實現(xiàn)只用一個button_Click事件,就可以顯示是誰被點擊了。

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被點擊了");

else

MessageBox.Show("Btn2被點擊了");

}

單擊后的效果應(yīng)該都能想到了,就不貼圖了。

應(yīng)該sender的應(yīng)用還很多,突然發(fā)現(xiàn)以前都沒有注意到的小東西,利用起來還是很有用的。

C#事件中sender和e參數(shù)的理解

sender是事件源,表示觸發(fā)事件的那個組件,比如說你按下按鈕,那么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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論