相关疑难解决方法(0)

在C#中执行任何其他操作时表单无响应

我有一个表单(使用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()"......如果你进入这一行,那么"被绞死"的机会就会减少!

c# winforms

10
推荐指数
2
解决办法
2万
查看次数

标签 统计

c# ×1

winforms ×1