Public Class Form1 Private countercombo As Integer Private panels() As System.Windows.Forms.Panel Private measure As System.Windows.Forms.Label Private listtype() As System.Windows.Forms.ListBox 'declare 2 vecteur dynamique de combobox la taille(size) du vecteur n'est pas fixé Private combobox0() As System.Windows.Forms.ComboBox Private combobox100() As System.Windows.Forms.ComboBox Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load countercombo = 0 measure = New Label measure.Font = New Font("arial", 12, FontStyle.Bold, GraphicsUnit.Pixel) measure.TextAlign = ContentAlignment.MiddleCenter Me.WindowState = FormWindowState.Maximized PreparecomboAndPanel() End Sub Private Sub PreparecomboAndPanel() Dim item As String 'creer le vecteur panel ReDim panels(countercombo) panels(countercombo) = New Panel Me.Controls.Add(panels(countercombo)) 'creer les 2 combo de base et fixé la taille intitialle du vecteur ReDim combobox0(countercombo) ReDim combobox100(countercombo) ReDim listtype(countercombo) combobox0(countercombo) = New ComboBox combobox100(countercombo) = New ComboBox listtype(countercombo) = New ListBox ajoutes.Location = New Point(4, 4) 'ajouter les combo à la panel panels(countercombo).Controls.Add(listtype(countercombo)) panels(countercombo).Controls.Add(combobox0(countercombo)) panels(countercombo).Controls.Add(combobox100(countercombo)) With combobox0(countercombo) .Font = New Font("arial", 12, FontStyle.Bold, GraphicsUnit.Pixel) .Items.Add("titi") .Items.Add("tata") .Items.Add("toto") .BackColor = Color.Azure .Anchor = AnchorStyles.Left measure.Text = "tata" .Location = New Point(4, 4) .Width = measure.PreferredWidth * 2 .Visible = True .Tag = countercombo 'déclarer le event SelectedIndexChanged pour le combo AddHandler .SelectedIndexChanged, AddressOf combobox0_SelectedIndexChanged End With With combobox100(countercombo) .Font = New Font("arial", 12, FontStyle.Bold, GraphicsUnit.Pixel) For Each item In combobox0(countercombo).Items .Items.Add("type" & (item)) Next .Anchor = AnchorStyles.Left .Location = New Point(combobox0(countercombo).Right + 10, combobox0(countercombo).Top) measure.Text = "typetata" .Width = measure.PreferredWidth * 2 .Tag = countercombo .Visible = False End With With listtype(countercombo) .Anchor = AnchorStyles.Left .Font = New Font("arial", 12, FontStyle.Bold, GraphicsUnit.Pixel) .Location = New Point(combobox100(countercombo).Right + 10, combobox100(countercombo).Top) .BorderStyle = BorderStyle.Fixed3D .Visible = False End With With panels(countercombo) .Anchor = AnchorStyles.None .BorderStyle = BorderStyle.Fixed3D .Location = New Point(10, ajoutes.Bottom + 6) .Width = combobox0(countercombo).Width + combobox100(countercombo).Width + listtype(countercombo).Width + 10 .BackColor = Color.LemonChiffon .Visible = True End With End Sub Private Sub ajoutes_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ajoutes.Click Dim item As String countercombo = countercombo + 1 'ajouter le combo à son vecteur le reserved word "preserve" indique qu'on aggrandit le vecteur 'sans effacer l'ancien ReDim Preserve panels(countercombo) ReDim Preserve combobox0(countercombo) ReDim Preserve combobox100(countercombo) ReDim Preserve listtype(countercombo) panels(countercombo) = New Panel Me.Controls.Add(panels(countercombo)) combobox0(countercombo) = New ComboBox combobox100(countercombo) = New ComboBox listtype(countercombo) = New ListBox panels(countercombo).Controls.Add(combobox0(countercombo)) panels(countercombo).Controls.Add(combobox100(countercombo)) panels(countercombo).Controls.Add(listtype(countercombo)) With combobox0(countercombo) .Font = New Font("arial", 12, FontStyle.Bold, GraphicsUnit.Pixel) For Each item In combobox0(0).Items combobox0(countercombo).Items.Add(item) Next .BackColor = Color.Azure .Anchor = AnchorStyles.Left .Location = New Point(4, 4) measure.Text = "tata" .Width = measure.PreferredWidth * 2 .Tag = countercombo .Visible = True AddHandler .SelectedIndexChanged, AddressOf combobox0_SelectedIndexChanged End With With combobox100(countercombo) .Font = New Font("arial", 12, FontStyle.Bold, GraphicsUnit.Pixel) For Each item In combobox100(0).Items combobox100(countercombo).Items.Add(item) Next .Anchor = AnchorStyles.Left .Location = New Point(combobox0(0).Right + 10, combobox0(0).Top) measure.Text = "typetata" .Width = measure.PreferredWidth * 2 .Tag = countercombo .Visible = False End With With listtype(countercombo) .Anchor = AnchorStyles.Left .Font = New Font("arial", 12, FontStyle.Bold, GraphicsUnit.Pixel) .Location = New Point(combobox100(countercombo).Right + 10, combobox100(countercombo).Top) .BorderStyle = BorderStyle.Fixed3D .Visible = False End With With panels(countercombo) .Anchor = AnchorStyles.None .BorderStyle = BorderStyle.Fixed3D .Location = New Point(10, panels(countercombo - 1).Bottom + 30) .Width = combobox0(countercombo).Width + combobox100(countercombo).Width + listtype(countercombo).Width + 10 .BackColor = Color.LemonChiffon .Visible = True End With End Sub Private Sub combobox0_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Dim iter As Byte combobox100(sender.tag).Text = "type" & combobox0(sender.tag).Text combobox100(sender.tag).Visible = True listtype(sender.tag).Items.Clear() Select Case combobox0(sender.tag).SelectedItem Case "toto" listtype(sender.tag).Items.Add(combobox100(sender.tag).SelectedItem) For iter = 1 To 3 listtype(sender.tag).Items.Add("type" & " " & iter) Next Case "tata" listtype(sender.tag).Items.Add(combobox100(sender.tag).SelectedItem) For iter = 4 To 6 listtype(sender.tag).Items.Add("type" & " " & iter) Next Case "titi" listtype(sender.tag).Items.Add(combobox100(sender.tag).SelectedItem) For iter = 7 To 9 listtype(sender.tag).Items.Add("type" & " " & iter) Next End Select measure.Text = "type 8" listtype(sender.tag).Width = measure.PreferredWidth * 2 listtype(sender.tag).Visible = True End Sub End Class
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionPublic Class Form1 Private countercombo As Integer 'declare 2 vecteur dynamique de combobox la taille(size) du vecteur n'est pas fixé Private combobox0() As System.Windows.Forms.ComboBox Private combobox100() As System.Windows.Forms.ComboBox Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load countercombo = 0 Preparecombo() End Sub Private Sub Preparecombo() Dim item As String 'creer les 2 combo de base et fixé la taille intitialle du vecteur ReDim combobox0(countercombo) ReDim combobox100(countercombo) combobox0(countercombo) = New ComboBox combobox100(countercombo) = New ComboBox 'ajouter les combo à la form Me.Controls.Add(combobox0(countercombo)) Me.Controls.Add(combobox100(countercombo)) With combobox0(countercombo) .Font = New Font("arial", 12, FontStyle.Bold, GraphicsUnit.Pixel) .Items.Add("titi") .Items.Add("tata") .Items.Add("toto") .BackColor = Color.Azure .Anchor = AnchorStyles.None .Location = New Point(30, 10) .Width = 80 .Visible = True .Tag = countercombo 'déclarer le event SelectedIndexChanged pour le combo AddHandler .SelectedIndexChanged, AddressOf combobox0_SelectedIndexChanged End With With combobox100(countercombo) .Font = New Font("arial", 12, FontStyle.Bold, GraphicsUnit.Pixel) For Each item In combobox0(0).Items .Items.Add("type" & (item)) Next .Anchor = AnchorStyles.None .Location = New Point(combobox0(0).Right + 50, combobox0(0).Top) .Width = 120 .Tag = countercombo .Visible = False End With End Sub Private Sub ajoutes_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ajoutes.Click Dim item As String countercombo = countercombo + 1 'ajouter le combo à son vecteur le reserved word "preserve" indique qu'on aggrandit le vecteur 'sans effacer l'ancien ReDim Preserve combobox0(countercombo) ReDim Preserve combobox100(countercombo) combobox0(countercombo) = New ComboBox combobox100(countercombo) = New ComboBox Me.Controls.Add(combobox0(countercombo)) Me.Controls.Add(combobox100(countercombo)) With combobox0(countercombo) .Font = New Font("arial", 12, FontStyle.Bold, GraphicsUnit.Pixel) For Each item In combobox0(0).Items combobox0(countercombo).Items.Add(item) Next .BackColor = Color.Azure .Anchor = AnchorStyles.None .Location = New Point(30, 10) .Width = 80 .Tag = countercombo .Visible = True AddHandler .SelectedIndexChanged, AddressOf combobox0_SelectedIndexChanged End With With combobox100(countercombo) .Font = New Font("arial", 12, FontStyle.Bold, GraphicsUnit.Pixel) For Each item In combobox100(0).Items combobox100(countercombo).Items.Add(item) Next .Anchor = AnchorStyles.None .Location = New Point(combobox0(0).Right + 50, combobox0(0).Top) .Width = 120 .Tag = countercombo .Visible = False End With combobox0(countercombo).Location = New Point(combobox0(0).Left, combobox0(countercombo - 1).Bottom + 10) combobox100(countercombo).Location = New Point(combobox100(0).Left, combobox100(countercombo - 1).Bottom + 10) End Sub Private Sub combobox0_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) combobox100(sender.tag).Text = "type" & combobox0(sender.tag).Text combobox100(sender.tag).Visible = True End Sub End Class
Public Class Form1 Private counterpanel As Integer Private panels() As System.Windows.Forms.Panel Private measure As System.Windows.Forms.Label Private listtype() As System.Windows.Forms.ListBox ' Private scrollbarvert() As System.Windows.Forms.VScrollBar Private countercombo() As Integer 'declare 2 vecteur dynamique de combobox la taille(size) du vecteur n'est pas fixé Private buttoncombo() As System.Windows.Forms.Button Private labelpanel() As System.Windows.Forms.Label Private combobox0() As System.Windows.Forms.ComboBox Private combobox100() As System.Windows.Forms.ComboBox Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Me.AutoScroll = False counterpanel = 0 measure = New Label measure.Font = New Font("arial", 12, FontStyle.Bold, GraphicsUnit.Pixel) measure.TextAlign = ContentAlignment.MiddleCenter Me.WindowState = FormWindowState.Maximized Me.AutoScrollMinSize = New Point(6000, 6000) End Sub Private Sub buttoncombo_click(ByVal sender As System.Object, ByVal e As System.EventArgs) Dim item As String Dim index As Integer index = countercombo(sender.tag) 'ajouter le combo à son vecteur le reserved word "preserve" indique qu'on aggrandit le vecteur 'sans effacer l'ancien ReDim Preserve combobox0(index) ReDim Preserve combobox100(index) ReDim Preserve listtype(index) 'ReDim Preserve scrollbarvert(index) combobox0(index) = New ComboBox combobox100(index) = New ComboBox listtype(index) = New ListBox panels(sender.tag).Controls.Add(combobox0(index)) panels(sender.tag).Controls.Add(combobox100(index)) panels(sender.tag).Controls.Add(listtype(index)) With combobox0(index) .Font = New Font("arial", 12, FontStyle.Bold, GraphicsUnit.Pixel) .Items.Add("titi") .Items.Add("tata") .Items.Add("toto") .BackColor = Color.Azure .BackColor = Color.Azure .Anchor = AnchorStyles.None If index > 0 Then .Location = New Point(2, listtype(index - 1).Bottom + 10) Else .Location = New Point(2, Me.buttoncombo(sender.tag).Bottom + 2) End If measure.Text = "tata" .Width = measure.PreferredWidth * 2 .Tag = index .Visible = True AddHandler .SelectedIndexChanged, AddressOf combobox0_SelectedIndexChanged End With With combobox100(index) .Font = New Font("arial", 12, FontStyle.Bold, GraphicsUnit.Pixel) For Each item In combobox0(index).Items .Items.Add("type" & (item)) Next .Anchor = AnchorStyles.None .Location = New Point(combobox0(index).Right + 10, combobox0(index).Top) measure.Text = "typetata" .Width = measure.PreferredWidth * 2 .Tag = index .Visible = True End With With listtype(index) .Anchor = AnchorStyles.None .Font = New Font("arial", 12, FontStyle.Bold, GraphicsUnit.Pixel) .Location = New Point(combobox100(index).Right + 10, combobox100(index).Top) .BorderStyle = BorderStyle.Fixed3D .Visible = True End With countercombo(sender.tag) = countercombo(sender.tag) + 1 End Sub Private Sub ajoutes_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ajoutes.Click 'ajouter un panel et un bouton à son vecteur le reserved word "preserve" indique qu'on aggrandit le vecteur 'sans effacer l'ancien ReDim Preserve buttoncombo(counterpanel) ReDim Preserve panels(counterpanel) ReDim Preserve labelpanel(counterpanel) labelpanel(counterpanel) = New Label panels(counterpanel) = New Panel Me.Controls.Add(panels(counterpanel)) buttoncombo(counterpanel) = New Button panels(counterpanel).Controls.Add(buttoncombo(counterpanel)) panels(counterpanel).Controls.Add(labelpanel(counterpanel)) With panels(counterpanel) .Anchor = AnchorStyles.None .AutoScroll = False .AutoScrollMinSize = New Size(4000, 4000) .BorderStyle = BorderStyle.Fixed3D If counterpanel > 0 Then .Location = New Point(10, panels(counterpanel - 1).Bottom + 30) Else .Location = New Point(10, ajoutes.Bottom + 2) End If measure.Text "tata" & " " & "typetata" & " " & " " & "type 2" .Width = (measure.PreferredWidth) * 3 .Height = 200 .BackColor = Color.LemonChiffon .Visible = True End With With labelpanel(counterpanel) .Anchor = AnchorStyles.None .Visible = True .AutoSize = True .Font = New Font("arial", 12, FontStyle.Bold, GraphicsUnit.Pixel) .TextAlign = ContentAlignment.TopLeft .ForeColor = Color.Black Select Case counterpanel Mod 3 Case 0 .Text = "Mechanique" Case 1 .Text = "Thermique" Case 2 .Text = "Fluidique" End Select .Location = New Point(2, 2) End With With buttoncombo(counterpanel) .Font = New Font("arial", 12, FontStyle.Bold, GraphicsUnit.Pixel) buttoncombo(counterpanel).Text = "ajouter un combo" buttoncombo(counterpanel).Anchor = AnchorStyles.Left buttoncombo(counterpanel).Anchor = AnchorStyles.Top buttoncombo(counterpanel).TextAlign = ContentAlignment.TopLeft buttoncombo(counterpanel).AutoSize = True buttoncombo(counterpanel).Location = New Point(2, labelpanel(counterpanel).Bottom + 6) buttoncombo(counterpanel).Tag = counterpanel buttoncombo(counterpanel).Visible = True AddHandler .Click, AddressOf buttoncombo_click End With ReDim Preserve countercombo(counterpanel) counterpanel = counterpanel + 1 Me.Refresh() End Sub Private Sub combobox0_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Dim iter As Byte combobox100(sender.tag).Text = "type" & combobox0(sender.tag).Text combobox100(sender.tag).Visible = True listtype(sender.tag).Items.Clear() Select Case combobox0(sender.tag).SelectedItem Case "toto" listtype(sender.tag).Items.Add(combobox100(sender.tag).SelectedItem) For iter = 1 To 3 listtype(sender.tag).Items.Add("type" & " " & iter) Next Case "tata" listtype(sender.tag).Items.Add(combobox100(sender.tag).SelectedItem) For iter = 4 To 6 listtype(sender.tag).Items.Add("type" & " " & iter) Next Case "titi" listtype(sender.tag).Items.Add(combobox100(sender.tag).SelectedItem) For iter = 7 To 9 listtype(sender.tag).Items.Add("type" & " " & iter) Next End Select measure.Text = "type 8" listtype(sender.tag).Width = measure.PreferredWidth * 2 listtype(sender.tag).Visible = True End Sub End Class