Vb.net获得面板颜色

时间:2012-06-20 18:51:49

标签: vb.net winforms

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

2 个答案:

答案 0 :(得分:1)

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

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

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

答案 1 :(得分:0)

尝试:

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