C# winform自己实现Windows消息处理
生活随笔
收集整理的這篇文章主要介紹了
C# winform自己实现Windows消息处理
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Windows消息循環是Windows系統機制之一。在Win32的窗口程序中,一部分是通過WndProc這個函數來完成的。
在C# winform中,編程時看不到WndProc函數。但是form的基類還是存在消息循環和WndProc。form的事件是用消息包裝出來的。
如果要實現一些特殊增強功能,可以考慮在form中自己處理Windows消息。
實現的方法,只需重載 WndProc 函數便可完成消息響應。
下面做一個簡單示例。使用SharpDevelop;
繼承基類的WndProc函數;在其中處理2個消息;WM_SIZE,WM_SIZEING;
在處理消息的switch中,每個消息占一個分支,另外default要調用基類的WndProc函數,來處理其他消息;
收到WM_SIZEING消息(窗口正在改變大小),改變窗口背景色為Color.MediumSeaGreen;收到WM_SIZE消息(窗口改變大小完成),恢復窗口背景原先的背景色,Color.FromName("Control");
運行一下程序;程序運行起來效果并不好;當改變窗口大小時,窗口背景出現一種閃動的綠色,大小改變完,回復正常背景;
主要是演示一下這一機制;
總結
以上是生活随笔為你收集整理的C# winform自己实现Windows消息处理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 几个Linux命令输出的各列含义
- 下一篇: Cesium环境搭建成功和初步看一下它的