溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C#事件本質的示例分析

發(fā)布時間:2021-12-03 10:05:10 來源:億速云 閱讀:114 作者:小新 欄目:編程語言

這篇文章將為大家詳細講解有關C#事件本質的示例分析,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

C#事件本質上是對消息的封裝,是IDE編程環(huán)境為了簡化編程而提供的有用的工具。這個封裝是在窗體過程中實現的。每種IDE封裝了許多Windows的消息,例如:

事件

消息

OnActivate

WM_ACTIVATE

OnClick

WM_XBUTT

ONDOWNOnCreate

WM_CREATE

OnDblClick

WM_XBUTT

ONDBLCLICKOnKeyDown

WM_KEYDOWN

OnKeyPress

WM_CHAR

OnKeyUp

WIN_KEYUP

OnPaint

WM_PAINT

OnResize

WM_SIZE

OnTimer

WM_TIMER

了解了這一點后,我們完成可以封裝自己的C#事件。通過上面的介紹,相信各位已經對Windows消息機制有了一定的理解了。通過Windows消息編程,我們不但可以實現很多常規(guī)功能,而且可以實現很多IDE類庫沒有提供的功能;另外,我們還可以通過消息鉤子,對消息進行截獲,改變其默認的處理函數,從而突破平臺或軟件功能的限制,極大的擴展程序的功能;我們還可以修改默認的窗體過程,按自己的要求來響應消息;或者自定義消息,實現程序之間的即時通訊等等。通過更加深入的學習,我們還會接觸到更多與Windows消息機制相關其它Windows相對比較底層的知識,如果能夠這樣,驀然回首,你會發(fā)現自己原來離“高手”不遠了。

窗體過程實際上是一個回調函數。所謂的回調函數,實際上就是由Windows操作系統(tǒng)或外部程序調用的函數?;卣{函數一般都有規(guī)定的參數格式,以地址方式傳遞給調用者。窗口過程中是Windows操作系統(tǒng)調用了,在一個窗口創(chuàng)建的時候,在分配窗體句柄的時候就需要傳入回調函數地址。那為什么我們平時編程看不到這個回調函數呢?這是由于我們的編程工具已經為我們生成了默認的窗體過程,這個過程的要做的事情就是判斷不同的消息類型,然后做出不同的處理。例如可以為鍵盤或鼠標輸入生成C#事件等。

關于“C#事件本質的示例分析”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI