|
10 / 10 / 4
Регистрация: 14.08.2010
Сообщений: 103
|
||||||
Динамически создаваемая форма и ее методы Show() и ShowDialog()02.06.2012, 12:11. Показов 4688. Ответов 2
Метки нет (Все метки)
У меня приложение может в опред. моменты, в процессы работы, надолго погружаться в свои вычисления и чтобы как-то информировать пользователя об этом решил показывать доп. окно из другой создавемой формы. Если на форме есть label (или картинка и с ней аналогичная ситуация), то после создания этой доп. формы и вызова метода Show(), то label не отображается на этой форме. Если же вызвать метод ShowDialog(), то эта метка отображается, но приходится уже пользователю кликать по доп. форме для ее закрытия т.к. она становится модальной. Идея была в том чтобы главный поток приложения мог бы по окончании своих вычислений закрыть это окно доп. формы. Подскажите, что не так делаю. Код тут очень простой как писал. Проверял и в отдельном потоке - тоже самое. С картинкой на форме - такая же ситуация как и с меткой.
0
|
||||||
| 02.06.2012, 12:11 | |
|
Ответы с готовыми решениями:
2
Show() и showdialog() Как передать данные между формами, без Show/ShowDialog ShowDialog форма не закрывается |
|
200 / 168 / 38
Регистрация: 21.10.2011
Сообщений: 178
|
||||||
| 02.06.2012, 12:57 | ||||||
|
BackgroundWorker вам в помощь. Также можете во второй форме смотреть прогресс операции (ProgressChanged event)
1
|
||||||
|
10 / 10 / 4
Регистрация: 14.08.2010
Сообщений: 103
|
|
| 02.06.2012, 14:20 [ТС] | |
|
Спасибо - сейчас проверю (минут 10-15). Но у Вас тоже ShowDialog() метод вызывается для второй формы - это значит она будет модальной (т.е. останавливает родительское приложение и должна ждать от пользователя каких-либо действий и потом может закрыться ее окно). Но сейчас проверю конечно. А вот с методом Show() у дочернего окна не отображаются метки на нем(или рисунок) у меня. Сейчас...
Добавлено через 31 минуту Vermilion, большое-пребольшое Вам спасибо. Я пока не пойму как, но вроде рабоает такая вещь!! Я сейчас просто(также как у Вас в коде) покамест на Sleep() проверял - т.е с "засыпанием". Пока не проверил с включением этих своих длительных вычислений т.к. они очень долго идут(минут 15 где-то). Спасибо. Пока не понял как это работает - я до этого просто отдельный поток создавал, в нем создавал дочернее второе окно и в конце вычислений потоку слал событие чтобы закрыл эту вторую форму, но с ShowDialog() у нее она потом не закрывалась, а с Show() у нее не все отображалось. Спасибо. Добавлено через 16 минут Да все работает и с этими длит. вычислениями. Я просто метод этих вычислений поставил в метод bkg_DoWork() и все. Получается, что если бы я раньше у себя также в другом создаваемом потоке эти вычисления поставил, то у меня бы тоже заработало?? Я раньше вычисления в главном потоке делал, а доп. потоку слал события чтобы он просто вначале открыл, а потом закрыл вторую форму. Но в другом потоке нельзя же иметь доступ к компонентам/классам из основного потока?? Надо проверить.
0
|
|
| 02.06.2012, 14:20 | |
|
Помогаю со студенческими работами здесь
3
Динамически создаваемая форма show и showdialog Cannot set Visibility or call Show or ShowDialog after window has closed. Источник записи - автоматически создаваемая форма Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|
|
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога
Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
|
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога
Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|