關於對EventHandler 和e的理解帖)

來源:互聯網
上載者:User

有一個叫做EventHandler 的傢伙,他會告訴你(主程式),有一些事情發生了:這個事情是誰導致的呢?是某個object類型對象導致的,它用Source或Sender來表示。這個事情是什麼事呢?e的內容就是事情的內容了。

至於Source和Sender,沒有區別,你想用哪個就用哪個,其實都是一樣的。

所以,我們在程式中的事件處理函數就是依賴於這個東西實現的:比方說你點了一個按鈕,程式怎麼知道應該用哪個函數來處理這個動作呢?那麼 EventHandler 這個傢伙會告訴程式:"button1(sender)被點擊(e)了,請調用對應的處理函數"。當然這個函數是誰,這個函數要做什麼,是由你自己寫的。

再深入一層,這個過程實際上就是:你的動作被windows捕獲,windows把這個動作作為系統訊息發送給程式(可以看message結構), 程式從自己的訊息佇列中不斷的取出訊息,並在訊息迴圈中尋找對應的處理方式,這時message結構中的類似於sender和e的東東就起到了引導程式使 用正確的處理函數的作用。

歸根究底,這個sender和e及其一整套的處理方式,只不過是windows訊息機制的另外一種表現罷了

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.