使用VB.NET 2010 / WinForms
我有一个名为“Panel1”的面板,该面板内有3个按钮。在表单的加载事件中,我正在创建一个小红色方块,并希望将红色方块放在3个按钮中的每一个...
Dim RedSquare As New Panel
With RedSquare
.Top = 0
.Left = 0
.Width = 10
.Height = 10
.BackColor = Color.Red
End With
For Each Control As Control In Panel1.Controls
If TypeOf Control Is Button Then
Control.Controls.Add(RedSquare)
End If
Next
但小红色方块只出现在第一个按钮内。
我做错了什么?
答案 0 :(得分:4)
控件只能有一个父级,因此当您将其添加到第二个按钮时,它将从第一个按钮中删除。如果你想在每个按钮上都有一个红色方块,你需要每次都创建一个新的
For Each Control As Control In Panel1.Controls
If TypeOf Control Is Button Then
Dim RedSquare As New Panel
With RedSquare
.Top = 0
.Left = 0
.Width = 10
.Height = 10
.BackColor = Color.Red
End With
Control.Controls.Add(RedSquare)
End If
Next