在Windows服务中,Timer组件不触发Tick事件的解决方法
开发环境:Visual Studio .NET 2005 RTM
操作系统:Windows XP SP2
浏 览 器:Internet Explorer 6.0 SP1
问题描述:
使用Visual Studio .NET 2005建立了一个Windows Service工程以后,添加了一个Timer组件,可是Timer组件的Tick事件怎么也不触发。
解决方法:
在网上找了一下,原因是系统中有两种Timer组件:System.Windows.Forms.Timer和System.Windows.Forms.Timer。在Windows服务中只能使用后者。
这里需要注意一下,网上大家都说,从工具箱/Windows窗体中拖拽出来的Timer是前者,从组件拖拽出来的是后者,可是我实际从两个地方拖拽出来的都是前者。所以可以手动修改代码,具体位置为“服务名.Designer.cs”中。
System.Windows.Forms.Timer的默认事件是以Tick结尾,System.Windows.Forms.Timer的默认事件是以Elapsed结尾。
浙公网安备 33010602011771号