我是在tree的afterselect事件中,利用timer的tick事件来显示进度条。但是进入到tick事件中。timer.enabled=true已经执行了,但是就是无法执行tick事件。
当我在afterselec事件中执行timer.enabled=true,不执行timer.enabled=false,那进度条可以显示,这是什么原因呢? private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
{
timer1.Enabled = true;
//程序其他部分
。
//
timer1.Enabled = false;
}
当我在afterselec事件中执行timer.enabled=true,不执行timer.enabled=false,那进度条可以显示,这是什么原因呢? private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
{
timer1.Enabled = true;
//程序其他部分
。
//
timer1.Enabled = false;
}
可能你的程序消息队列太长了,导致timer消息被延后
timer1_Tick(timer1, EventArgs.Empty);
timer1.Start();
启动timer
而且,只要我在事件中,不设置timer.enabled=false,进度条就能执行。
关键是,我在timer.enabled=true这里设置了断点后,发现改句能够显示进度条
timer1.Enabled = true;
//程序其他部分
。
//
timer1.Enabled = false;如果没有 timer1.Enabled = false;那timer的tick事件就能执行,如果两个都在的话,就不能进入到tick事件中。我是一新手,盼指教!!
计时器就开始工作了,无需start的