求助!!这回真的被System.Timers.Timer给玩死了!!

dongguacha 2011-05-09 09:36:16
我的程序里调用了一个 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(); ,但问题依旧存在。。。。。。

实在是百思不得其解,希望有高手能给予指点,先谢谢啦!!




...全文
42 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

110,570

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧