我有一个表单(使用VS2010在C#中开发)和一个进度条.这是一种秒表形式,我填写进度条说10secs ....随着时间流逝,进度条相应填充....意味着5secs后,进度条将填充50%等等....
我使用for循环来执行此操作: -
for(int count=0;count<200;count++)
{
progbar.performstep();
progbar.update();
update();
Thread.Sleep(50);
}
Run Code Online (Sandbox Code Playgroud)
我使用了50毫秒的Thread.Sleep,以便进度条顺利更新.持续1秒,它会逐步递增.
问题是,如果我做任何其他操作,如移动此表单,甚至点击桌面上的另一个图标使这个表单"无响应"....但它执行操作,并在10秒结束时,它重新获得它的状态并显示弹出,表示进度条已满10秒.
感谢您的帮助和抱歉使用这种复杂的语言.
此致,Swanand
更新:我在下面的答案的帮助下解决了这个问题....我要知道的一个常见错误就是忘记了" Applications.DoEvents()"以及" update()"......如果你进入这一行,那么"被绞死"的机会就会减少!