问题描述
Form1fr=newForm1();fr.Hide();this.Hide();Form2frr=newForm2();frr.ShowDialog();
解决方案
解决方案二:
this.Close(),窗体的托管资源释放了,但是垃圾回收器没有回收。久而久之,你的机器就出现这种问题了。微软官方的解释在以下两种情况下调用Close不会释放窗体:(1)窗体是多文档界面(MDI)应用程序的一部分且是不可见的(2)您是使用ShowDialog显示的该窗体。在这些情况下,需要手动调用Dispose来将窗体的所有控件都标记为需要进行垃圾回收。
解决方案三:
为什么要这样一直创建新的对象呢?先判断fr,frr对象是否存在,在的话就显示。
解决方案四:
毫无意义的操作。没看出来你连续showfrr的目的何在。
解决方案五:
进程,关闭进程
解决方案六:
是不是使用using()就可以了
解决方案七:
不要总是new,先判断窗口是否存在,看你的代码应该是把窗口隐藏了,肯定会出错啊,将隐藏的窗口属性设置一下,显示出来就可以了,不要再new了。
解决方案八:
Form2frr=newForm2();frr.ShowDialog();这个没什么问题Form1fr=newForm1();fr.Hide();这是闹哪样啊不断的创建form1,然后又不显示,开多了内存不爆掉了
解决方案九:
你隐藏窗体之后,窗口又没有消失,你只要判断这个窗体存在与否,存在就显示不就完了吗
解决方案十:
没看明白这么做的意义。。。
时间: 2024-11-17 08:42:33