本帖最后由 jshzp 于 2011-08-17 17:08:32 编辑

解决方案 »

  1.   

    你怎么发现窗体示例还在的?
    试试 private void button1_Click(object sender, EventArgs e)
            {
                frm2.Close();frm2.Dispose();
            }
      

  2.   

    我是这么写的
    private void Form1_Load(object sender, EventArgs e)
    {
        frm2 = new Form2();
        try{frm2.Show();}
        finally{frm2.Dispose();}
    }
      

  3.   

    调试过程中断,frm2的值不为null;另外if(frm2==null)也可以啊。
      

  4.   

    frm2=null这样就可以达到你的要求了
      

  5.   

    你想实现什么效果啊,运行项目肯定先走load事件。想销毁也得在运行完窗体后销毁!
      

  6.   

    using(Form2 frm2=new Form2())
    {
    frm2.ShowDialog();
    }
      

  7.   

    GC.Collect();这是强制回收垃圾的函数,你在调用前先把所有引用置(frm2=null),然后这个窗口就是垃圾了
      

  8.   

    保险点的写法是把它dispose掉。但是这时引用还在的,你去访问frm2的时候可能会有异常,所以可以dispose后再frm2=null.
      

  9.   

    button1_Click中frm2.Displose()就OK了
    Displose方法就是销毁的意思!
      

  10.   

    yes,你用GC.COLLECT()内存还是不会回收的.