在一个线程中开启一个新窗体 线程执行完后 新建的窗体不显示,该怎么处理

在一个线程中开启一个新窗体 线程执行完后 新建的窗体不显示
private void button1_Click(object sender, EventArgs e)
  {
  Thread watch = new Thread(ShowForm2);
  watch.IsBackground = true;
  watch.Start();

  }
  void ShowForm2() 
  {
  this.Visible = false;
  Form2 f2 = new Form2();
  f2.Show();
  }
在一个线程中开启一个新窗体 线程执行完后 新建的窗体不显示 应用程序也没断 怎么回事呢? 琢磨了半天 还是上来问问各位前辈吧


在设计大型应用程序时,使用委托和事件可以减少"依赖性和层的关联",依赖性指的是什么呢 层的关联又是什么呢?

------解决方案--------------------
线程中是否是UI线程,否则估计显示不出来
------解决方案--------------------
Thread是什么,Form2是什么
------解决方案--------------------
去C#版问吧
我觉得C#内置的“委托”类似于C++的函数指针