【发布时间】:2011-12-13 16:31:15
【问题描述】:
我在这里有点困惑。我将所有控件从一个窗体复制到主窗体上的面板,但由于某种原因,只有大约一半的控件被复制。
Private Sub switchComponent()
Dim selection As String = TreeView1.SelectedNode.Text
Panel1.Controls.Clear()
Dim query = From cont In serverDic(selection).Controls
Select cont
For Each copier As Control In query
Panel1.Controls.Add(copier)
Next
End Sub
serverDic 定义为:
Dim serverDic As New Dictionary(Of String, frmServer)
单步执行代码时,serverDic(selection).Controls 有 12 个元素,但其中只有 6 个被复制。下次调用它时,只有 3 个被复制。 Panel1.Controls.clear() 是否会以某种方式杀死引用?
编辑:只是为了表明集合中有 12 个元素:
【问题讨论】:
-
循环是否迭代 12 次?
-
你确定 serverDic(selection) 有 12 个控件而不是 serverDic 吗?
-
是的,我很肯定。我在问题中添加了一张图片以显示它。