关于Timer停止和开启!!

是我111 2009-10-29 11:09:44
在程序中有个 Timer
而我要在另一个线程中触发一个条件 此条件状态为true时 Timer停止
为false 时 Timer 再开始工作

试过好多方法都无法实现 请各位老大支支招!!!!!!
...全文
509 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
SQL77 2009-10-29
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 zlz1215312 的回复:]
恩  直接判断不行

[/Quote]
不会吧,应该可以的
IF(TIMER1.ENABLE==TRUE)
{

}

你也可以写方法的,

PUBLIC VOID BOOLTIME(TIMER TIMER)
{
IF..

ELSE

}
ycagri 2009-10-29
  • 打赏
  • 举报
回复
Timer.Enable = true

Timer.Enable = false
是我111 2009-10-29
  • 打赏
  • 举报
回复
关键问题是 Stop之后 无法Start 我不知道什么原因
Neil198 2009-10-29
  • 打赏
  • 举报
回复
用两个Timer,一个Timer1执行主要业务,另一个Timer2监控这个Timer1,Timer2判断,如果Timer1正在执行并且Status为False的时候就Timer1.Stop(),如果Timer1状态是Stop并且Status= true的时候就Timer1.Start()
是我111 2009-10-29
  • 打赏
  • 举报
回复
恩 直接判断不行
Xuon 2009-10-29
  • 打赏
  • 举报
回复
l171147904 2009-10-29
  • 打赏
  • 举报
回复
直接判断写》?不行???
定时器 也是一个 线程
walkghost 2009-10-29
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 l171147904 的回复:]
直接判断写》?不行???
定时器 也是一个 线程
[/Quote]
定时器是线程吗?
mjp1234airen4385 2009-10-29
  • 打赏
  • 举报
回复
设置一个回调函数(托管)的意思。
把线程申明在一个类里,创建一个托管的属性。
在线程创建的时候,把一个函数赋值给这个属性。
当需要设置主线程的时钟时,调用这个函数。
就OK了。
wjf8882300 2009-10-29
  • 打赏
  • 举报
回复
我估计你最难的是线程之间的调用问题,因为一般是不允许在一个线程中调用另一个线程。事实上timer组件在创建的时候,开了一个线程,这样你在自己的线程中不能直接调用timer组件进行操作。不过微软给出了再线程中调用其他组件的方法Invoke。
例如:

void test()
{
bool flag=false;
object[] plist = new object[] { flag, System.EventArgs.Empty };
timer.BeginInvoke(new System.EventHandler(TimerThread), plist);
}
void TimerThread(object i, EventArgs e)
{
bool flag=(bool)i;
if(flag)
{
timer.Start();
}
else
{
timer.Stop();
}

}
abaochan 2009-10-29
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 poorchild 的回复:]
不能用Stop() 线程停止后是无法再次Star() ,Timer中的Enable属性应该可以
[/Quote]

就是用Enabled属性

if(Enabled==true)
{
Enabled=false;
}
else
{
Enabled=true
}
是我111 2009-10-29
  • 打赏
  • 举报
回复
我试过用Enable 也false以后true Timer还是不能正常运行
[Quote=引用 5 楼 zlz1215312 的回复:]
关键问题是 Stop之后 无法Start  我不知道什么原因

[/Quote]
happy664618843 2009-10-29
  • 打赏
  • 举报
回复
Enable
應燁軍 2009-10-29
  • 打赏
  • 举报
回复
不能用Stop() 线程停止后是无法再次Star() ,Timer中的Enable属性应该可以

110,536

社区成员

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

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

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