2017-02-27 1 views
1

새 패널에 groupbox를 동적으로 만들고 싶습니다. 어떻게 내가 vb.net에서 이렇게합니까? 고마워 .......................동적으로 새 패널에 그룹 상자를 만듭니다.

Dim Groups As New Dictionary(Of String, GroupBox) 
Dim Panels As New Dictionary(Of String, Panel) 
Dim jmlpnl As Integer = 1 
Dim jmlgrp As Integer = 10 

Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load 
    Dim pnl As New Panel 
    For i As Integer = 1 To jmlpnl 
     Me.Controls.Add(pnl) 
     pnl.Width = 883 
     pnl.Height = 744 
     pnl.Top = 5 
     pnl.Left = 439 
     pnl.BackColor = Color.White 
     Panels.Add("Panel" & i, pnl) 
     pnl.Tag = "Panel" & i 
     For j As Integer = 1 To jmlgrp 
      'create groupbox in my new panel 
     Next 
    Next 

End Sub 
+1

: 당신이 마음에 있어야합니다 유일한 것은이 분포,이 코드는 당신이 다른 무언가를 원하는 경우가 topleft 변수를 재생해야합니다, 다른 이들에게 하나 개의 권리를두고 Form Load에서이 작업을 수행하는 이유는 디자이너를 통해 양식에 배치하는 것이 아니라는 것입니다. – Plutonix

+0

내가 원할 때마다 사용자가 패널 및 그룹 박스를 추가 할 수있게하고 싶습니다. – Lyn

+1

알 수없는 양의 컨트롤을 표시하려면 'FlowLayoutPanel'에 입력하는 것이 좋습니다. –

답변

0

매우 어려운 작업은 아닙니다. 새 그룹 상자를 만들어 패널에 추가하기 만하면됩니다. 당신이 때문에

Dim top As Integer = 0 
Dim left As Integer = 0 
For j As Integer = 1 To jmlgrp 
    'create groupbox in my new panel 
    Dim grp As New GroupBox 
    grp.Width = 50 
    grp.Height = 50 
    grp.Top = top 
    grp.Left = left 

    pnl.Controls.Add(grp) 
    left += 60 
Next 
+0

고맙습니다. – Lyn

관련 문제