|
Модераторы: gambit, Partizan |
|
HAL707 |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 109 Регистрация: 6.9.2007 Репутация: нет Всего: 4 |
Привет всем.
Хотелось бы спросить, как правильно создать окно ожидания длительно опрерации главной формы? То есть есть конструктор главной формы
Кто-то делал нечто подобное? |
|||
|
||||
Bogdan1024 |
|
|||
Эксперт Профиль Группа: Завсегдатай Сообщений: 1436 Регистрация: 28.9.2005 Где: Киев Репутация: 1 Всего: 13 |
Думаю тебе просто нужно выполнять длительную операцию в отдельном потоке.
-------------------- |
|||
|
||||
Raistlin |
|
|||
Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 19.5.2009 Репутация: нет Всего: нет |
Почитай насчет BackgroundWorker и System.Threading.Thread, готовых примеров с подобными окнами, прогрессбарами и т.п. очень много
|
|||
|
||||
HAL707 |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 109 Регистрация: 6.9.2007 Репутация: нет Всего: 4 |
Если бы все было так просто...
Создаю форму в отдельном потоке. Форма не показывается. Делаю так:
Invoke методы главной формы я тоже не могу вызывать, поскольку ко временни вызова не создан дескриптор главного окна. Так как показать фому ожидания? |
|||
|
||||
diadiavova |
|
|||
Доктор Зло(диагност, настоящий, с лицензией и полномочиями) Профиль Группа: Модератор Сообщений: 5820 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 16 Всего: 142 |
В отдельном потоке надо не форму запускать, а выполнять операцию, завершения которой ты ожидаешь, показывая эту форму. -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
|||
|
||||
kobra |
|
||||
Опытный Профиль Группа: Участник Сообщений: 730 Регистрация: 15.6.2005 Где: Грузия, Тбилиси Репутация: 1 Всего: 9 |
например так
Это сообщение отредактировал(а) kobra - 19.8.2009, 13:40 |
||||
|
|||||
Sharic |
|
|||
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 5.10.2007 Репутация: нет Всего: нет |
А как сделать это окошко модальным?
|
|||
|
||||
Sharic |
|
|||
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 5.10.2007 Репутация: нет Всего: нет |
У меня такая проблема:
на форме лежит контрол ReportView, у него есть метод RefreshReport, который выполняется довольно долго. Так как это метод контрола, я не могу переместить эту операцию в другой поток. Вопрос: Как во время выполнения рефреш репорт в основном потоке показать модальное окошко с прогресбаром в другом потоке? |
|||
|
||||
kobra |
|
|||
Опытный Профиль Группа: Участник Сообщений: 730 Регистрация: 15.6.2005 Где: Грузия, Тбилиси Репутация: 1 Всего: 9 |
||||
|
||||
Sharic |
|
|||
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 5.10.2007 Репутация: нет Всего: нет |
Окно из кода не модальное...
|
|||
|
||||
kobra |
|
|||
Опытный Профиль Группа: Участник Сообщений: 730 Регистрация: 15.6.2005 Где: Грузия, Тбилиси Репутация: 1 Всего: 9 |
||||
|
||||
Sharic |
|
|||
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 5.10.2007 Репутация: нет Всего: нет |
Теряется весь смысл этого окошка.
Что хотелось: в основном потоке идет обновление контрола (достаточно долго) и во время этого показывается модальное окошко с прогрессом, чтобы пользователь не думал, что приложение висит и не тыкался по всей форме, что может привести к отмене генерации отчета. Отдельно болтающееся окошко - это не очень здорово. Хотя свою проблему решил, но немного по-другому. |
|||
|
||||
kobra |
|
|||
Опытный Профиль Группа: Участник Сообщений: 730 Регистрация: 15.6.2005 Где: Грузия, Тбилиси Репутация: 1 Всего: 9 |
||||
|
||||
Sharic |
|
|||
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 5.10.2007 Репутация: нет Всего: нет |
Решение получилось не в создании какого-то хитрого окна, а в работе самого контрола ReportViewer.
Если кому интересно, могу объяснить, а так не по теме получается. |
|||
|
||||
Ciminance |
|
|||
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 24.10.2022 Репутация: нет Всего: нет |
Модератор: Сообщение скрыто. |
|||
|
||||
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Разработка Windows Forms | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |