Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.96/25: Рейтинг темы: голосов - 25, средняя оценка - 4.96
27 / 27 / 8
Регистрация: 30.03.2010
Сообщений: 380
Записей в блоге: 1

Открытие формы из другого потока

06.05.2013, 02:36. Показов 5095. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как сделать чтобы форма появлялась поверх главной формы. TopMost не помогает, а для MessageBox вообще не может быть топмоста

Добавлено через 9 часов 13 минут
Ну так что, можно как то сделать формы и диалоговые окна, открытые из другого потока поверх главной?
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
06.05.2013, 02:36
Ответы с готовыми решениями:

Открытие формы из второго потока
У меня есть главный поток, который в определенный момент порождает родительский, из которого запускается вторая форма, на которой требуется...

Refresh формы с другого потока
Существует 2 потока, в главном потоке создается другой который должен выполнять метод, который в бесконечном цыкле чтото рисует на форме и...

Создание формы из другого потока
Есть вот такой код: private void button1_Click(object sender, EventArgs e) { Thread t = new Thread(startForm);...

5
 Аватар для MrGladus
178 / 178 / 50
Регистрация: 06.01.2013
Сообщений: 392
06.05.2013, 02:43
C#
1
2
3
var form2 = new Form2();
form2.ShowDialog(); //Показывает 2ю форму, блокируя основную
form2.Show(); //просто показывает 2ю форму, с основной можно при этом работать
0
27 / 27 / 8
Регистрация: 30.03.2010
Сообщений: 380
Записей в блоге: 1
06.05.2013, 02:45  [ТС]
спасибо...открывать я умею.
вопрос совершенно в другом
0
Эксперт Java
 Аватар для turbanoff
4094 / 3828 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 12
06.05.2013, 07:57
Лучший ответ Сообщение было отмечено SatanaXIII как решение

Решение

Вот пример, используя BackroundWorker:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
    public partial class Form1 : Form
    {
        BackgroundWorker worker = new BackgroundWorker();
 
        public Form1()
        {
            InitializeComponent();
 
            worker.DoWork += WorkerOnDoWork;
            worker.WorkerReportsProgress = true;
            worker.ProgressChanged += WorkerOnProgressChanged;
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            worker.RunWorkerAsync();
        }
 
        private void WorkerOnDoWork(object sender, DoWorkEventArgs doWorkEventArgs)
        {
            Thread.Sleep(2000);
            worker.ReportProgress(0); //Открываем форму из не-главного потока
            Thread.Sleep(2000);
        }
 
        private void WorkerOnProgressChanged(object sender, ProgressChangedEventArgs progressChangedEventArgs)
        {
            Form f = new Form {Text = "Second Form"};//Открываем форму, когда вызван ReportProgress
            f.ShowDialog();
        }
    }
3
27 / 27 / 8
Регистрация: 30.03.2010
Сообщений: 380
Записей в блоге: 1
06.05.2013, 17:10  [ТС]
спасибо, а что насчёт MessageBox -ов
как их открывать, если учитывать что они никак не связаны с функцией, в которой вызывается новая форма.
они открываются в функции, которая запускается в другом потоке..
0
Эксперт Java
 Аватар для turbanoff
4094 / 3828 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 12
06.05.2013, 18:36
Все тоже самое. Функция WorkerOnDoWork запускается в другом потоке, она может быть никак не связано с формой.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
06.05.2013, 18:36
Помогаю со студенческими работами здесь

Доступ к элементам формы из другого потока
Хочу сделать в фоновом потоке добавление UserControl в StackPanel. Старт потока: Thread t = new Thread(Add); ...

Доступ к элементу формы из другого потока
Добрый день! Хочу по событию изменить текст кнопки. private void OnDisconnected(object sender, DisconnectedEventArgs args) ...

Доступ к элементам формы из другого потока
В общем, у меня есть много разных функций, которые вызывают другие функции, в которых происходят разные операции типа копирования файлов,...

Обращение к элементам формы из другого потока
Извиняйте за очередную тему. Тут на форуме я уже их много прочитал, но все равно не могу понять эти делегаты и инвок. На форуме есть...

Обновление контрола формы из другого потока
Visual Studio Ultimate 2013(первая версия) позволяет обновить элемент управления формы из другого потока непосредственно. (т. е. без...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
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. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru