C# 函數參數object sender, EventArgs e


object sender:表示觸發事件的控件對象
EventArgs e:表示事件數據的類的基類

 

Windows程序有一個事件機制。用於處理用戶事件。

在WinForm中我們經常需要給控件添加事件。例如給一個Button按鈕添加一個Click點擊事件。給TextBox文本框添加一個KeyPress 鍵盤按下事件。通過強大的IDE,雙擊控件就能直接添加一個該控件默認的事件。

1
2
3
4
private  void  btnError_Click( object  sender, EventArgs e)
{
         //some codes here.
}

雙擊Button,自動生成的是Click事件,事件的命名是控件名字加下划線加操作名字命名的。該事件還有兩個參數,一個是object類型的sender,還有一個是EventArgs類型的e。

從英文意思來看sender和e這兩個參數:

sender:發送者

EventArgs:事件參數 (EventArguments)

Aggument:論點

object:對象,基類

 

sender參數用於傳遞指向事件源對象的引用。簡單來講就是當前的對象。例如button的點擊事件,那么這個sender就代表這個button自己。

private void btnError_Click(object sender, EventArgs e)
{
      //獲取當前點擊的Button
      Button thisClickedButton = sender as Button;
}            

由於sender指的是事件源對象,sender是object類型,用的時候記得轉一下類型才可以用。

 

e參數是是EventArgs類型。簡單來理解就是記錄事件傳遞過來的額外信息。一般用於傳遞用戶點擊的位置啊,鍵盤按下的鍵等事件的額外信息。例如TextBox中有一個KeyPress事件。

復制代碼
 private void inputTextBox_KeyPress(object sender, KeyPressEventArgs e)
 {
    //獲取當前對象
     TextBox tb = sender as TextBox;

      //獲取當前按下來的鍵值
      char c = e.KeyChar;
 }
復制代碼

在事件里可以通過e點出來,不過不同的事件傳遞的信息也會不同。

https://blog.csdn.net/mark4ever/article/details/6169089

https://www.cnblogs.com/MzwCat/p/7603896.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM