问题说明:
winform界面 一个panel中有mousedown、mouseup、mousewheel,还有一个Timer,Timer函数里执行一个比较耗时的操作,大概1-2s,问题出来了:mousewheel有的时候捕捉不到。Timer是System.Windows.Forms.Timer,个人猜测是Timer影响。看完下面对timer的说明就恍然大悟了。
首先了解一下.Net中的Timer
//1.实现按用户定义的时间间隔引发事件的计时器。此计时器最宜用于 Windows 窗体应用程序中,并且必须在窗口中使用。
System.Windows.Forms.Timer
// 2.提供以指定的时间间隔执行方法的机制。无法继承此类。
System.Threading.Timer
//3.在应用程序中生成定期事件。
System.Timers.Timer
这三个定时器位于不同的命名空间内,上面大概介绍了3个定时器的用途,其中第一个是只能在Windows窗体中使用的控件。在.NET1.1里面,第3个System.Timers.Timer,也是可以拖拽使用,而.NET2.0开始取消了,只能手动编写代码