【发布时间】:2013-01-31 12:12:18
【问题描述】:
使用 C# 在 Winforms 中工作,我有一个主窗体,它在单独的线程上创建第二个 UI 窗体。
viewThread = new Thread( ( ) =>
{
views = new Views.Views( displayRotators, screenLocationLeft, screenLocationTop, screenHeight, screenWidth );
Application.Run( views );
} );
viewThread.SetApartmentState( ApartmentState.STA );
viewThread.Start( );
在第二个 UI 表单上,我现在需要调用一个方法来启动一个显示循环,该循环将一直运行到我终止线程为止。我花了大约三个小时试图找到一种方法来做到这一点,但我能找到的只是从工作线程调用主 UI 线程上的方法的示例,而不是从主 UI 线程调用工作线程上的方法。谁能告诉我该怎么做?
谢谢。
【问题讨论】:
-
为了您自己,请不要创建多个 UI 线程。始终拥有一个会更好。
-
您不能从除主线程之外的任何线程修改 UI,因此无法按照您的要求进行操作。
标签: c# winforms multithreading