求助!!这回真的被System.Timers.Timer给玩死了!!
我的程序里调用了一个 System.Timers.Timer ,在它的Elapsed事件里我试图用代码来模拟点击一个主窗口的按钮,bt_1.PerformClick(); 目的是在指定的时刻运行一段代码
程序结构:
private void TimeEvent(object source, ElapsedEventArgs e) //每秒激发一次
{
//检查时间SignalTime
if 到了指定时间
{
//这里加了一行代码在主窗口中打一句话标明程序运行到此处,便于观察
richTB.AppendText("系统状态:试图启动中...");
bt_1.PerformClick(); //执行按钮代码
}
}
程序运行时很奇怪,如果指定的时间不远,例如半小时内,那么一切都没问题,按钮代码如期被执行,但只要指定的时间比较长,例如好几个小时以后,那么就会出现"系统状态:试图启动中...",但按钮代码却没有被执行??即便我加上try catch 结构,也捕获不到异常。
我有怀疑是线程的问题,尝试了用委托来代替直接的 bt_1.PerformClick(); ,但问题依旧存在。。。。。。
实在是百思不得其解,希望有高手能给予指点,先谢谢啦!!