timer重复执行问题

缭绕飘渺 2011-04-19 06:06:50
一个按钮,点击启动一个定时器,执行一个网络命令发送
发现点击停止后再点击开始计时器
这个时候会发送两次命令,即执行两次定时器函数,
如果我再停止再启动,会执行3次定时器函数,这个还可以增加
我网上看了下
定时器函数中用
 try
{
TimerHeart.Stop();
SendCmd();//发送命令函数
}
finally
{
TimerHeart.Start();
}

先停止定时器,最好再启动定时器仍然不好使
大家有什么方法吗
我也用过了用bool变量,也没有用
路过的各抒己见啊
我是WPF项目,定时器类是
 DispatcherTimer TimerHeart = new DispatcherTimer();

...全文
448 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
缭绕飘渺 2011-04-26
  • 打赏
  • 举报
回复
出差耽误结贴了
抱歉了
bdmh 2011-04-19
  • 打赏
  • 举报
回复
不太可能吧,你的TimerHeart.Tick是怎么赋值的,这个+=的话,会累积的
缭绕飘渺 2011-04-19
  • 打赏
  • 举报
回复
一语惊醒梦中人
我看应该是这个问题了
我的事件是在按钮点击的时候注册的
所以每次点击是重复注册了
明天测试下
回来结贴
ycproc 2011-04-19
  • 打赏
  • 举报
回复
TimerHeart.Tick += delegate {//todo..};
这里才是 调用timer的 定时

这里面的代码 贴出来
bloodish 2011-04-19
  • 打赏
  • 举报
回复
代码太少,不好分析.
可能的原因是重复注册了Tick事件
TimerHeart.Tick += delegate {//todo..};


多贴点代码上来看看


guyehanxinlei 2011-04-19
  • 打赏
  • 举报
回复
没有遇到过!

110,534

社区成员

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

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

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