Form Not Responding when any other operation performed in C#

У меня есть форма (разработанная на C # с использованием VS2010) с Индикатор. Это своего рода форма секундомера, где я заполняю индикатор выполнения, скажем, за 10 секунд .... По мере того, как время истекает, индикатор выполнения заполняется соответствующим образом .... Значит, через 5 секунд индикатор выполнения будет заполнен на 50% и так далее ....

Я использовал цикл for для выполнения этой операции: -

for(int count=0;count<200;count++)
{
   progbar.performstep();
   progbar.update();
   update();
   Thread.Sleep(50);
}

Я использовал Thread.Sleep 50 мс, чтобы индикатор выполнения обновлялся плавно. В течение 1 секунды он увеличивается пошагово.

Проблема в том, что если я выполняю какую-либо другую операцию, например, перемещение этой формы или даже щелчок по другому значку на рабочем столе, эта форма становится «Не отвечает» .... Но она выполняет операцию и в конце 10 секунд, он восстанавливает свое состояние и показывает всплывающее окно, указывающее, что прошло 10 секунд с заполнением индикатора выполнения.

Спасибо за помощь и извините за использование такого сложного языка.

С уважением, Swanand

Update: I solved this problem with the help of Answers below.... One common mistake I got to know is forgetting "Applications.DoEvents()" along with "update()".... If you enter this line, there are less chances of getting "hanged"!

10
задан Swanand 9 February 2011 в 10:34
поделиться