我有一堆用户控件,每一个都在不同的菜单选择上填充屏幕,我想 KILL 前一个(以清除内存),我不能硬编码,因为我在运行时不知道哪个是之前显示的控件。只是从表单中删除控件 this.Controls.Remove('uc_foo')
并不能完全清除内存(我检查了 taskmgr)
使用 foreach 和应用迭代表单的控件object_reference = null
会导致错误“无法分配,因为它是 foreach 迭代变量”。
访问this.Controls[i]
= null 被拒绝,因为它是只读的
那么我该如何摆脱它呢?
更新据我所知,如果我从表单中删除控件并且没有任何其他引用它,最终它会从内存中清除,它不会像我写的那样立即出现object_reference = null
,因此我不会看到taskmgr 中的内存立即下降,但垃圾收集会在心情好的时候完成