System.Windows.Forms.Timer是否发送WM_TIMER消息?

时间:2014-02-12 08:29:23

标签: c# winforms timer

System.Windows.Forms.Timer是否发送WM_TIMER消息?

基本上我想设置一个应该生成

的计时器
WM_TIMER  
每隔5秒发送

消息。我正在使用

System.Windows.Forms.Timer

Tick 

事件被处理。但我没有在我的WndProc()中收到WM_TIMER消息。

1 个答案:

答案 0 :(得分:1)

是的,WM_TIMER是让Winforms计时器打勾的原因。但是,在您的代码中未注意到,它会创建自己的窗口,它不会使用您的窗口。它是一个不可见的,底层的.NET类是TimerNativeWindow,它是Timer类的私有类。你不能覆盖它的WndProc()。从技术上讲,你可以在使用Reflection挖掘出句柄之后使用NativeWindow对其进行子类化,但这种方式应该是龙,而且永远不需要。