2017-02-27 27 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

あなたがいるので、フォームロードでそれをやってみるのは、なぜデザイナーを経由してフォームに置くのではないのですか? – Plutonix

+0

私は彼が望むたびにパネルとグループボックスを追加できるようにしたい – Lyn

+1

表示されるコントロールの量が不明な場合、それらを 'FlowLayoutPanel'に入れることを検討するかもしれません。 –

答えて

0

これはあまり難しいことではありません。新しいグループボックスを作成してパネルに追加するだけです。あなたが心に持っている必要があります唯一の事は、ディストリビューションで、このコードはちょうどあなたが別の何かをしたい場合は、topleft変数を使用してプレイする必要があります、それらを他の1つの権利を置く:

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

関連する問題