我试图在特定的时间内重复进行一些计算(time变量并由用户提供).
我尝试在visual studio中使用Windows窗体应用程序工具箱中提供的计时器,但似乎存在问题.当我启动计时器并将变量time与while循环关联时,程序会卡住; 的time变量被递减计时器的各记号事件,我需要只要时间大于0运行while循环.
private void timer1_Tick(object sender, EventArgs e)
{
if (time == 0)
timer1.Stop();
else
{
time--;
textBoxTime.Text = time.ToString();
}
}
Run Code Online (Sandbox Code Playgroud)
这是阻止程序的while循环
while (time>0)
{
computations();
}
Run Code Online (Sandbox Code Playgroud)
我试图在特定的时间内重复进行一些计算,时间是可变的并由用户提供.
我不建议使用计时器来计算滴答时间,而是建议你在循环开始时注意循环,检查每次循环迭代的当前时间,看看它是否运行得足够长.
这是阻止程序的while循环
据推测,您正在UI线程上执行计算.这将阻止处理任何UI消息,包括计时器滴答,从而使应用程序无响应.
启动一个单独的线程来执行实际计算.BackgroundWorker是从WinForms执行此操作的常用方法,但有许多方法.
| 归档时间: |
|
| 查看次数: |
1308 次 |
| 最近记录: |