關於C#事件處理函數中的參數(object sender, EventArgs e)

一、是事件源,表示觸發事件的那個組件
   如(button/label/listview...),好比說你單擊button,那麼sender就是button微信

 

二、EventArgs是事件參數,它用來輔助你處理事件對象

   好比說你用鼠標點擊窗體,那麼EventArgs是會包含點擊的位置等等

blog

   例:繼承

private void label1_MouseClick(object sender, MouseEventArgs e)  
{  
        Label senderLabel = (Label)sender; // 根據sender引用控件  
        senderLabel.Text = e.Button.ToString(); // 根據e中的button參數,判斷是左鍵按下仍是右鍵  
}

  

3. e表明事件對象,裏面有該事件的信息...... e只是習慣的名稱,固然你也能夠命名爲其它的,你寫成 a b c d f g h i j均可以。事件

 

4. e是一個類,存事件要用的數據。不一樣的事件e可能不一樣
TreeNodeMouseClickEventArgs有下面幾個屬性(來自MSDN):
名稱 說明 
  Button  獲取曾按下的是哪一個鼠標按鈕。 (繼承自 MouseEventArgs。) 
  Clicks  獲取按下並釋放鼠標按鈕的次數。 (繼承自 MouseEventArgs。) 
  Delta  獲取鼠標輪已轉動的制動器數的有符號計數。制動器是鼠標輪的一個凹口。 (繼承自 MouseEventArgs。) 
  Location  獲取鼠標在產生鼠標事件時的位置。 (繼承自 MouseEventArgs。) 
  Node  獲取被單擊的節點。 
  X  獲取鼠標在產生鼠標事件時的 x 座標。 (繼承自 MouseEventArgs。) 
  Y  獲取鼠標在產生鼠標事件時的 y 座標。 (繼承自 MouseEventArgs。) io

 

5. 不一樣的事件的這個e的內容不一樣,例如鼠標移動的事件就會包含鼠標的X,Y座標信息等,若是是鍵盤事件,這個e裏面會包含你當前是按的哪一個鍵的信息,有沒有按Ctrl鍵、Alt鍵等等。

這就是事件發生時的一些參數狀況。不一樣的事件,這個參數是不一樣的類型,包含的信息也不一樣。class

想了解更多C#知識,請掃描下方公衆號二維碼object

 

 

需加微信交流羣的,請加小編微信號z438679770,切記備註 加羣,小編將會第一時間邀請你進羣!二維碼

相關文章
相關標籤/搜索