0
for i = 0 to 10
    dim paneln as new panel
    paneln.backcolor = color.red
    if i = 5 then
        paneln.backcolor = color.white
    end if
    me.controls.add(paneln)
next

现在我想获取表单上每个面板的颜色

红色
红色
红色
红色
白色
红色
红色
红色
红色
红色

就像是:

For Each p As Panel In Me.Controls
    MsgBox(p.BackColor)
Next
4

2 回答 2

1

如果您使用的是 .Net 3.5 或 4.0,您可以尝试:

For Each p as Panel In Me.Controls.OfType(Of Panel)
    MessageBox.Show(p.BackColor)
Next

这将仅遍历面板控件(或从面板派生的控件),而忽略其他控件。请注意,这只会获取直接在表单上的面板,而不是容器对象内部的任何面板,就像其他面板一样。

于 2012-06-20T19:05:55.550 回答
0

尝试:

For Each p As Panel In Me.Controls.OfType(Of Panel)()
  MessageBox.Show(p.BackColor.ToString())
Next
于 2012-06-20T19:06:17.983 回答