У меня есть форма (разработанная в 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
Обновление : я решил эту проблему с помощью приведенных ниже ответов. Одна распространенная ошибка, которую я узнал, - это забыть "Applications.DoEvents()
" вместе с "update()
".... Если вы введете эту строку, у вас будет меньше шансов стать "повешенным"!