我有一个XtraUserControl(是WinForms UserControl类的DevExpress实现),里面有几个控件。当我打开并关闭包含此XtraUserControl的表单时,我发现内存泄漏,所以我想强制处理所有子控件。
我没有修改过Designer文件,但有一些控件不在" this.Controls" 列表中。我用来从所有控件中获取列表的方法可以在下面看到(我尝试了其他具有相同结果的函数)。
public IEnumerable<Control> GetAllControls(Control root)
{
foreach (Control control in root.Controls)
{
foreach (Control child in GetAllControls(control))
{
yield return child;
}
}
yield return root;
}
是否有人知道列表中可能缺少某些控件的任何原因?如果我运行该程序,我可以与这些“缺失”控件进行交互。