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

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

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

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

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

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


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