多线程C#停止线程结束

时间:2012-07-15 12:16:43

标签: c# multithreading

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

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

为了问题,保持通用。

我怎么能阻止这个帖子结束?因为线程结束,表单关闭。我怎么能继续线程,以便表单可以保持打开状态,并仍然触发事件(如按钮点击等)

感谢您的帮助:)

3 个答案:

答案 0 :(得分:2)

好吧,如果您使用多线程显示其他表单,则应拨打Application.Run(Form)。 编辑:为了清楚起见,Application.Run方法在表单关闭之前不会结束。所有活动等都可以。

答案 1 :(得分:0)

如何以模态方式显示表单 - 虽然为什么要创建一个新线程来显示表单?

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

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

答案 2 :(得分:-2)

在你的线程中放置一个无限循环很简单,例如:

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

我为什么要睡觉呢? ...因为运行无限循环而内部没有任何东西,考虑到极快的迭代,所以CPU占用大量CPU。 16毫秒的睡眠为您提供60 fps的速度,足以满足您的需求。 无论如何,为什么你需要在一个单独的线程中显示表单?