Могут ли не-пользовательские потоки отображаться на экране? - PullRequest
4 голосов
/ 19 мая 2011

Может ли только UI-поток отображаться на экране, или другие потоки могут это делать?

Ответы [ 3 ]

7 голосов
/ 19 мая 2011

Нет, вы можете получить доступ к пользовательскому интерфейсу только из потока пользовательского интерфейса, но вы можете упорядочить результаты из других потоков, например, используя Control.Invoke или control.BegineInvoke / EndInvoke

Проверьте this из

1 голос
/ 19 мая 2011

Вы можете использовать BeginInvoke() член всех элементов управления GUI, чтобы изменить значения их свойств из фоновых потоков.
Если вы используете фонового работника, вы можете использовать событие ReportProgress, что еще проще.

0 голосов
/ 20 мая 2011

также зависит от того, используете ли вы WinForms или WPF, в Winforms вы используете Control.Invoke и в WPF вы используете класс Dispatcher.WPF имеет более сложный нить диспетчер пользовательского интерфейса

...