У меня есть форма (разработанная на 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"!