private void CreateMaterial()
{
         BI_MaterialForm bmf=new BI_MaterialForm();
bmf.Show();

}private void MI_BI_Material_Click(object sender, System.EventArgs e)
{
         m_tMaterial=new Thread(new ThreadStart(CreateMaterial));
m_tMaterial.Start();
}
这是我通过点击事件用线程创建窗体的代码,但执行时,窗体被创建出后,显示了一下,就消失了~~!请问这是为什么?

解决方案 »

  1.   

    因为你线程结束了
    或者你改成 bmf.Showdialog()
      

  2.   

    那怎么办啊我不能用Showdialog~~~~!一定要无模式对话框~~~!
      

  3.   


    BI_MaterialForm bmf = null;private void CreateMaterial()
    {
             bmf=new BI_MaterialForm();
    bmf.Show();

    }
      

  4.   

    你提的这个要求倒蛮有趣,SHOW了后,肯定会继续执行后面的代码了,如果在后面挂起,会不会引起SHOW的窗口也无效了呢?但不挂起用循环来消耗,可能太那个了吧?不知道为什么不能SHOWDIALOG,或许在这点上进行相应调整,所需的代价会比较小呢?(据我印象,线程的SHOWDIALOG好像不会引起其他窗体无法响应的)