CSharp - 多线程 C# 停止线程结束

  显示原文与译文双语对照的内容
0 0

我正在创建一个新线程,其中只包含以下代码:


void myThread()
{
 new Form1().Show();
}

保持问题的通用性。

我如何才能阻止这个线程结束? 由于螺纹结束,窗体关闭。 我如何继续执行线程,这样表单可以保持打开状态,还可以触发事件( 如按钮单击。等等 ) 。

感谢你的帮助:

时间: 原作者:

0 0

如果你使用多线程来显示附加表单,则应该调用 Application.Run(Form)
编辑:只需清除,Application.Run 方法将不会在 结束之前结束。 所有事件都将工作。

原作者:
0 0

如何以模式方式显示表单- 虽然你希望创建一个新的线程来显示表单?


void myThread()
{
 new Form1().ShowDialog();
...

清楚地说- 我相信这将有效地锁定你的新线程,直到表单关闭。

原作者:
0 0

在线程 e.g 中设置一个无限循环很简单:


void myThread()
{
 new Form1().Show();
 while(true)
 {
 Thread.Sleep(16);
 }
}

我为什么要 sleeping? 。因为考虑到非常快速的迭代,运行无限循环的无限循环是相当重要的。 睡眠 16毫秒,你就可以像 60 fps那样,这是足够的React,你可能希望。 无论如何,为什么需要在单独的线程中显示表单?

...