天天看點

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

1、是事件源,表示觸發事件的那個元件

   如(button/label/listview...),比如說你單擊button,那麼sender就是button

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

   比如說你用滑鼠點選窗體,那麼EventArgs是會包含點選的位置等等

   例:

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。) 

5. 不同的事件的這個e的内容不同,例如滑鼠移動的事件就會包含滑鼠的X,Y坐标資訊等,如果是鍵盤事件,這個e裡面會包含你目前是按的哪個鍵的資訊,有沒有按Ctrl鍵、Alt鍵等等。

這就是事件發生時的一些參數情況。不同的事件,這個參數是不同的類型,包含的資訊也不同。

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

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

需加微信交流群的,請加小編微信号z438679770,切記備注 加群,小編将會第一時間邀請你進群!