EventArgs

EventArgs

EventArgs是包含事件數據的類的基類,用於傳遞事件的細節。

EventArgs


一般在源碼中是以這樣的情況出現的:protected voidEventHandler(object sender, EventArgs e)

詳細解釋


這裡的參數,前者是一個對象(其實這裡傳遞的是對象的引用,如果是button1的click事件則sender就是button1),後面是包含事件數據的類的基類。
其實簡單點說就是對象(object)sender導致了某個事件的發生,事件的內容就是(e)
在程序中的事件處理函數就是依賴實現的:
比方說你點了一個按鈕,程序怎麼知道應該用哪個函數來處理這個動作呢?那麼EventHandler會告訴程序:"button1(sender)被點擊(e)了,請調用對應的處理函數"。當然這個函數是誰,這個函數要做什麼,是由你自己寫的。
再深入一層,這個過程實際上就是:你的動作被windows捕獲,windows把這個動作作為系統消息發送給程序(可以看message結構),程序從自己的消息隊列中不斷的取出消息,並在消息循環中尋找對應的處理方式,這時message結構中的類似於sender和e就起到了引導程序使用正確的處理函數的作用。
歸根究底,這個sender和e及其一整套的處理方式,只不過是windows消息機制的另外一種表現罷了。
參考與http://zhidao.baidu.com/question/7169294.html