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

これは、パネル コントロール (または Panel から派生したコントロール) のみを反復処理し、他のコントロールは無視します。これはフォーム上に直接あるパネルのみを取得し、他のパネルのようにコンテナー オブジェクト内にあるパネルは取得しないことに注意してください。

于 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 に答える