powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Как отобразить форму из фонового потока поверх основной?
12 сообщений из 12, страница 1 из 1
Как отобразить форму из фонового потока поверх основной?
    #39286631
lex452
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть необходимость выполнять некие действия в отдельном потоке, пока они выполняются, на основной форме бегает прогресс бар с результатами выполнения. В этом потоке есть необходимость создать и отобразить форму. Столкнулся с проблемой что форма появляется позади основного окна и пользователь может просто ее не заметить, а мне нужно чтобы она появилась поверх всех окон приложения.
...
Рейтинг: 0 / 0
Как отобразить форму из фонового потока поверх основной?
    #39286683
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lex452В этом потоке есть необходимость создать и отобразить форму.
но создать и открыть форму нужно в основном потоке, родителя задать что сверху плавала.

https://msdn.microsoft.com/en-us/library/ms171728(v=vs.110).aspx?f=255&MSPPError=-2147217396
...
Рейтинг: 0 / 0
Как отобразить форму из фонового потока поверх основной?
    #39286848
lex452
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это не совсем соответствует логике программы, в отдельном потоке вызываются функции из отдельной библиотеки и в ней же происходит вызов формы. А вы предлагаете передавать из библиотеки ссылку на форму в основной поток. Других вариантов нет?
...
Рейтинг: 0 / 0
Как отобразить форму из фонового потока поверх основной?
    #39286853
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
...
Рейтинг: 0 / 0
Как отобразить форму из фонового потока поверх основной?
    #39286873
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lex452Это не совсем соответствует логике программы
соответсвует. Всё рисование, создание форм и т п - происходит в основном (UI) потоке.

остальные потоки просто обмениваются данными с основным потоком.

lex452Других вариантов нет?
Если создавать форму в отдельном потоке, по цикл обработки сообщений для этой формы нужно крутить в этом потоке. грабли описаны в статье от 1993 года - https://msdn.microsoft.com/en-us/library/ms810439.aspx
...
Рейтинг: 0 / 0
Как отобразить форму из фонового потока поверх основной?
    #39287061
lex452
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cat2lex452,

Свойство Form.TopMost
оно не работает когда форма создана в другом потоке
...
Рейтинг: 0 / 0
Как отобразить форму из фонового потока поверх основной?
    #39287071
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lex452,

забудьте как страшный сон идею создавать форму в отдельном потоке. "логику приложения" - правьте
...
Рейтинг: 0 / 0
Как отобразить форму из фонового потока поверх основной?
    #39287098
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lex452,
Открой модальную форму, у нее свой UI поток и свой поток обработки сообщений.
...
Рейтинг: 0 / 0
Как отобразить форму из фонового потока поверх основной?
    #39287109
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВОткрой модальную форму, у нее свой UI поток и свой поток обработки сообщений.
откуда такая трава по поток?
...
Рейтинг: 0 / 0
Как отобразить форму из фонового потока поверх основной?
    #39287250
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИзопропилЕвгенийВОткрой модальную форму, у нее свой UI поток и свой поток обработки сообщений.
откуда такая трава по поток?
))))
...
Рейтинг: 0 / 0
Как отобразить форму из фонового потока поверх основной?
    #39287358
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Изопропил,
Да, про первое ошибся.
...
Рейтинг: 0 / 0
Как отобразить форму из фонового потока поверх основной?
    #39287363
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВИзопропил,
Да, про первое ошибся.
лучше второе назвать не потоком, а циклом обработки сообщений
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Как отобразить форму из фонового потока поверх основной?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]