【发布时间】:2017-07-09 10:55:19
【问题描述】:
我有一个名为“radGroupBox1”的组框,我想在其中打开一个用户控件。 这是我的代码:
radGroupBox1.Controls.Clear();
_main2 = new Forms.MainControl2();
radGroupBox1.Controls.Add(_main2);
_main2.Dock = DockStyle.Fill;
_main2.Frm = this;
_main2.Show();
我的问题是每次执行这段代码,我的内存都会增加。我在任务管理器中查看。例如,如果您在 my button(run code) 上单击 10 次,内存将增加 10 倍。如何释放分配给前一个对象的内存? 有什么办法可以 Dispose 或者强制 GC 释放内存?
【问题讨论】:
-
您是否正在某处关闭 (
_main2.Close()) 表单? -
@OfirWinegarten 我应该在哪里做这个?
-
嗯...我猜你想关闭/隐藏用户控件。另外,为什么每次都重新创建它?为什么不只是隐藏/显示?不完全清楚你在做什么
-
@OfirWinegarten 因为我想展示一种全新的 _main2 形式。没有最后的改动
-
@dama 我在添加项目之前使用“Controls.Clear()”,这是否清除了我在 radGroupBox1 中的所有控件?
标签: c# winforms garbage-collection dispose