Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Разработка Windows Forms > Окно ожидания |
Автор: HAL707 11.8.2009, 16:46 | ||
Привет всем. Хотелось бы спросить, как правильно создать окно ожидания длительно опрерации главной формы? То есть есть конструктор главной формы
Кто-то делал нечто подобное? |
Автор: Bogdan1024 11.8.2009, 16:59 |
Думаю тебе просто нужно выполнять длительную операцию в отдельном потоке. |
Автор: Raistlin 11.8.2009, 21:10 |
Почитай насчет BackgroundWorker и System.Threading.Thread, готовых примеров с подобными окнами, прогрессбарами и т.п. очень много ![]() |
Автор: HAL707 12.8.2009, 10:24 | ||
Если бы все было так просто... Создаю форму в отдельном потоке. Форма не показывается. Делаю так:
Invoke методы главной формы я тоже не могу вызывать, поскольку ко временни вызова не создан дескриптор главного окна. Так как показать фому ожидания? |
Автор: diadiavova 12.8.2009, 10:43 |
В отдельном потоке надо не форму запускать, а выполнять операцию, завершения которой ты ожидаешь, показывая эту форму. |
Автор: kobra 19.8.2009, 13:39 | ||||
например так
|
Автор: Sharic 22.9.2009, 06:52 |
А как сделать это окошко модальным? |
Автор: Sharic 23.9.2009, 07:41 |
У меня такая проблема: на форме лежит контрол ReportView, у него есть метод RefreshReport, который выполняется довольно долго. Так как это метод контрола, я не могу переместить эту операцию в другой поток. Вопрос: Как во время выполнения рефреш репорт в основном потоке показать модальное окошко с прогресбаром в другом потоке? |
Автор: Sharic 24.9.2009, 12:51 |
Окно из кода не модальное... |
Автор: kobra 24.9.2009, 13:41 |
но он в другом патоке ![]() |
Автор: Sharic 24.9.2009, 14:49 |
Теряется весь смысл этого окошка. Что хотелось: в основном потоке идет обновление контрола (достаточно долго) и во время этого показывается модальное окошко с прогрессом, чтобы пользователь не думал, что приложение висит и не тыкался по всей форме, что может привести к отмене генерации отчета. Отдельно болтающееся окошко - это не очень здорово. Хотя свою проблему решил, но немного по-другому. |
Автор: kobra 24.9.2009, 15:09 |
а показать? |
Автор: Sharic 28.9.2009, 11:38 |
Решение получилось не в создании какого-то хитрого окна, а в работе самого контрола ReportViewer. Если кому интересно, могу объяснить, а так не по теме получается. |
Автор: Ciminance 24.10.2022, 03:55 |
Модератор: Сообщение скрыто. |
Автор: Queuego 4.11.2022, 22:22 |
Модератор: Сообщение скрыто. |