2013-09-23 59 views
0

我在vb.net中有一個循環,我想要顯示50個面板,所有這些面板都具有相同的3個控件。只有最後一個控件被3個控件填充,這是爲什麼?vb.net面板控制循環問題

Dim PanelVerticalPoint As Integer = btDF.Height * 6 

    For counter = 1 To 50 Step +1 

     Dim ButtonPanel As Panel = New Panel 


     With ButtonPanel 

      ButtonPanel.Location = New Point(0, PanelVerticalPoint) 
      ButtonPanel.Size = New Size(btDF.Width, btDF.Height) 
      Me.Controls.Add(ButtonPanel) 

      ButtonPanel.Controls.Add(btCustomButtonMenu) 
      ButtonPanel.Controls.Add(btCustomTextBox) 
      ButtonPanel.Controls.Add(btCustomButton) 

     End With 


     PanelVerticalPoint = PanelVerticalPoint + btDF.Height 


    Next counter 
+0

爲什麼不使用這種自定義控件的一個非常類似的問題? –

回答

2

您必須在每個面板上添加一個新的按鈕實例。您正在爲面板添加相同的按鈕實例,因此每個添加實際上都在移動按鈕。

+0

謝謝,現在完美。但我該怎麼做? –

0

克隆控件並不容易。它看起來像你的情況可能適合用戶控件。使用按鈕和文本框在設計器中進行用戶控制,然後創建用戶控件的許多實例而不是面板。

下面是用那種答案 Clone Winform control

+0

我認爲這是我將採取的道路。我認爲我差不多完成了,但由於某種原因,當我將其添加到主窗體時,我看不到用戶控件上的任何控件。有什麼想法嗎?感謝您的幫助! –