ProKiLL
@ProKiLL
Системный администратор

Как сделать экран загрузки?

Доброй ночи!
Возник вопрос как сделать экран загрузки когда программа делает большие(долгие ~45-70сек) вычисления, а пользователь думает, что она зависла.
Видел где то на хабре подобную тему но не могу найти, помогите...
  • Вопрос задан
  • 2791 просмотр
Пригласить эксперта
Ответы на вопрос 4
@dmitryKovalskiy
программист средней руки
Для таких задач существует BackgroundWorker. Фактически обертка над работой с отдельным потоком.
Ответ написан
Комментировать
@Hydro
C#/.NET Developer
Если экран во время запуска, то это называется Splash Screen.
Если во время обработки, то в момент запуска вычисления показываете форму на которой крутится BusyIndicator например и скрываете её, когда вычисления кончаются.
Ответ написан
Комментировать
Neuroware
@Neuroware
Программист в свободное от работы время
Если процесс не изменяет ничего на форме (прогресс бары там всякие) то можно не заморачиваться и просто вызывать функцию "в обертке" примерно так:
MethodInvoker mi = new MethodInvoker(delegate{ //создаем вызов метода в отдельном потоке
      ОченьМедленнаяФункция(int СПараметрамиДа);
}); mi.BeginInvoke(null, null);//начинаем выполнять, в случае чего его можно всегда убить через объект mi
Ответ написан
@pvlunegov
Ваш вопрос не корректен.
Укажите область применения вашей задачи.
Где нужно чтобы было всплывающее окно?
В Windows? В окне браузера?
Если вам нужно всплывающее окно в браузере, это просто:

Html:
Из кода удалите "-":
<-div class="popup">
Привет!
Я – всплывающее окно.
<-/div->​

CSS:
.popup {
position: absolute;
max-width: 400px;
border: 1px solid #71653a;
border-radius: 5px;
padding: 20px;
color: #71653a;
background-color: #fff1be;
box-shadow: 0 1px 10px rgba(0, 0, 0, 0.2);
}​

Подробнее тут - habrahabr.ru/post/161041
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы