【发布时间】:2018-05-06 10:10:26
【问题描述】:
如何在 C# 中使用线程或任务打开新表单。
示例:
public void openform()
{
Form _form = new Form();
_form.show()
}
Thread _thread = new Thread(openform);
_thread.start();
如果我使用线程,它会打开表单并再次关闭它。
【问题讨论】:
-
为什么要在另一个主题上打开一个表单?你的UI线程还不够吗?
-
您不想创建多个 UI 线程。这会给你带来很多问题。你想要一个 UI 线程。
-
是不是因为新表单打开时间长?
-
你想通过添加另一个 UI 线程来实现什么?
-
@amc 解决方案是不在 UI 线程中执行非 UI 工作,而是在后台线程中执行,而不是在拥有 UI 时创建后台线程来执行 UI 工作线程做非 UI 工作。顾名思义,UI线程是做UI工作的,后台线程是做后台工作的。
标签: c# multithreading winforms visual-studio