Создание WinForm в главном потоке с помощью фонового работника - PullRequest
0 голосов
/ 11 июня 2011

У меня есть фоновый работник, и я пытаюсь заставить его создать экземпляр формы, но я не хочу, чтобы фоновый рабочий поток владел объектом, но хотел бы основной поток, чтобы владеть им. С чего мне начать?

1 Ответ

1 голос
/ 11 июня 2011

Вы можете использовать функции Invoke и BeginInvoke, чтобы получить код для выполнения в потоке GUI.Вы можете заставить другой поток вызывать событие, а затем обрабатывать его в главной форме, а затем ваша основная форма может вызывать этот обратный вызов в свой собственный поток (используя InvokeRequired, а затем Invoke) для запуска новой формы.

Если вы работаете в фоновом режиме, вы можете использовать метод OnProgressChanged, чтобы использовать его в качестве сигнала для вашего приложения.

Кроме того, взгляните на эту превосходную книгу

...