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命令输出的各列含义
- 下一篇: C# mschart 控件的基本使用和图