如何使用线程或任务在 C# 中打开新窗体。
例子:
public void openform()
{
Form _form = new Form();
_form.show()
}
Thread _thread = new Thread(openform);
_thread.start();
如果我使用线程,它会打开表单并再次关闭它。
最佳答案
如果您简单地将 ApartmentState
设置为 STA
并启动另一个消息循环,您可以创建另一个 UI 线程:
Thread _thread = new Thread(() =>
{
Application.Run(new Form());
});
_thread.SetApartmentState(ApartmentState.STA);
_thread.Start();
请注意,您将无法在此窗体上显示您在主线程上创建的控件。这就是为什么创建多个 UI 线程通常不是一个好主意。
关于C# 在新线程或任务中打开表单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47438631/