object sender,EventArgs e的一些講解(c#,0)

fengzj發表於2008-11-14

 object sender,EventArgs e的一些講解(c#,0)

說的通俗一些,就是:
有一個叫做EventHandler 的傢伙,他會告訴你(主程式),有一些事情發生了:這個事情是誰導致的呢?是某個object型別物件導致的,它用Source或Sender來表示。這個事情是什麼事呢?e的內容就是事情的內容了。
至於Source和Sender,沒有區別,你想用哪個就用哪個,其實都是一樣的。
所以,我們在程式中的事件處理函式就是依賴於這個東西實現的:比方說你點了一個按鈕,程式怎麼知道應該用哪個函式來處理這個動作呢?那麼EventHandler 這個傢伙會告訴程式:"button1(sender)被點選(e)了,請呼叫對應的處理函式"。當然這個函式是誰,這個函式要做什麼,是由你自己寫的。
再深入一層,這個過程實際上就是:你的動作被windows捕獲,windows把這個動作作為系統訊息傳送給程式(可以看message結構),程式從自己的訊息佇列中不斷的取出訊息,並在訊息迴圈中尋找對應的處理方式,這時message結構中的類似於sender和e的東東就起到了載入程式使用正確的處理函式的作用。
歸根究底,這個sender和e及其一整套的處理方式,只不過是windows訊息機制的另外一種表現罷了。
是C#.NET的.
object sender 發出事件的物件
System.EventArgs e 物件中的資料
如果是按鈕button的話,那sender就是那個button,
e是事件引數,在某些事件裡,e用處不大,比如在MouseEventArgs的Mouse事件中,可以看到e包括mouse的座標值等,以供你的程式使用。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/219982/viewspace-495625/,如需轉載,請註明出處,否則將追究法律責任。

相關文章