winform窗口怎么样让运行的时候只保持当前操作的窗口,其他的都关闭。不然的话一直来回点会出现很多窗口,太占资源了。有什么办法可以解决窗口都保持当前操作的窗口呢,其他的都是关闭的

解决方案 »

  1.   

    没明白什么是“太占资源”,是不是每个窗体都处理大量数据?
    如果是凌乱了,可以使用this.Hide()和this.Show()
    达到隐藏和显示的问题,如果希望确实的关闭窗体,可以委托主线程创建新窗体后自行关闭
      

  2.   

    所谓的层次是否存在A创建B,B创建C这类。
      

  3.   

    是的。除了主程序不能关闭,其他的A创建B B创建C的都是要关闭,当我打开了D前面的A,B,C窗口都要关闭的
      

  4.   

    新建一个窗体后并显示后,把当前窗体给隐藏了。
    new Form() show();
    this.hide();
      

  5.   

                    for (int i = Application.OpenForms.Count - 1; i >= 0 && i < Application.OpenForms.Count; --i)
                    {
                        Form frm = Application.OpenForms[i];
                            if (frm.GetType() != typeof(你想激活的窗体类) &&
                                frm != caller
                                )
                            {
                                frm.Close();
                            }
    }