C#里时关闭子窗口时base.Dispose(disposing)报错:
Value Dispose() cannot be called while doing CreateHandle().
求各高手帮助解决!!!!

解决方案 »

  1.   

    楼主在哪里调用关闭的的子窗口?外面try catch下,贴代码
      

  2.   

    看:
    OnLoad或者Form的Constructor里面调用Close或者Dispose是不安全的。 
    更好的做法是,在窗口显示以前,当发现需要关闭窗口的时候,throw一个特殊的Exception,然后在创建窗口的代码忠try...catch...
      

  3.   

    我是在子窗口的_FormClosing里Dispose的
    在显示前怎么做?我是点击一个BUTTON显示的
    private void button1_Click_1(object sender, EventArgs e)
            {
                Program.buttonid = 1;
                Form2 form2 = new Form2();
                form2.ShowDialog(this);
            }
      

  4.   


    在FormClosing里还没执行完,Dispose不掉的.
    不用Dispose就可以了,gc帮你回收掉