【问题标题】:can not dispose controls in splitcontainer无法在 splitcontainer 中处理控件
【发布时间】:2011-11-24 10:43:03
【问题描述】:

我尝试使用此代码在拆分容器中处理控件。

 foreach (Control c in splitContainerMain.Panel2.Controls) 
 { 
     c.Dispose(); 
 }

但问题是拆分容器包含两个控件并且获取计数为两个。但我尝试使用此代码进行处置,然后一个控件成功处置,但第二个控件无法处置。

【问题讨论】:

  • 您是否有理由手动处置容器中包含的控件,而不是仅在容器本身上调用Dispose()

标签: c# splitcontainer


【解决方案1】:

我认为在这种情况下您不应该使用 foreach,因为控件集合可能会随着项目的处置而缩小。

我认为你最好如下:

 for (int nI = splitContainerMain.Panel2.Controls.Count - 1; nI >= 0; nI--) 
 { 
     splitContainerMain.Panel2.Controls[nI].Dispose();
 }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多