●●加班在线等,如何让线程加载一个窗体?谢谢◆◆◆◆
因为一些需要,想在一个线程中打开另一个窗体,一直搞不定. 
                         private   Form2   f; 
                         private   void   button1_Click(object   sender,   EventArgs   e) 
                         { 
                                     ........ 
                                     Thread   th   =   new   Thread(new   ThreadStart(a)); 
                                     th.Start();   
                                     .......   
                      } 
                         private   void   a() 
                         { 
                                                 f   =   new   Form2(); 
                                                 f.Show(); 
                                                 f.s();   //f.s   是启动窗体2中的一个线程 
                         }   
 把其他功能都屏蔽掉了,就剩这几句,Form2是另外一个窗体. 
 我点击button时,form2只是闪了一下就没了,是不是线程运行完了窗体也销毁了呢? 
 但是f.s()启动的线程还在跑.   
 如果我把线程改成为 
                         private   void   a() 
                         { 
                                                 f   =   new   Form2(); 
                                                 f.Show(); 
                                                 f.s();   //f.s   是启动窗体2中的一个线程 
                                                 while(true) 
                                                 { 
                                                          Thread.Sleep(100); 
                                                    } 
                         } 
 窗体2就能出来了,但是一直是系统忙碌的漏斗鼠标.   
 求教一下,此简单功能如何实现. 
 加班在线等一个答案!! 
 在此感谢了 
------解决方案--------------------up
------解决方案--------------------在线程里,可以直接使用Application.Run(form)来打开一个窗体。   
 比如:   
 Form f=new Form(); 
 Application.Run(f);   
 但这个用法仅在线程中。
------解决方案--------------------在主窗体里面用一个方法   
 Func1(){ 
                 f = new Form2(); 
                 f.Show(); 
 }   
 线程里面 this.BeginInvoke这个方法
------解决方案--------------------up 
 楼上