1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
|
Private Sub CommandButton1_Click()
Dim i As Integer, Choice As CheckBox, cnt As Control, nm As String, t As Integer
'ajouter un contrôle
Set cnt = Frame1.Controls.Add("Forms.CheckBox.1", "Chekbox2", True)
'l'affecter à une variable pour accéder à certaines propriété peut être utile
'
With cnt
.Name = ListBox1.List(i)
.Tag = "x"
.Move 10, 10, 50, 20 'disposer le contrôle dans son contenaire Left:=10,Top:=10,Width:=50,Height:=15
End With
Controls(cnt).Caption = ListBox1.List(i) 'pour accéder à certaines propriété non renvoyé par la variable cnt on utilise la collection controls contenaire de tous les contrôles
'Controls(cnt).GroupName = "Auto_check"
Set cnt = Nothing
'pour supprimer un controle
Frame1.Controls.Remove (Frame1.Controls.Count - 1) 'supprime le dernier index de la collection
'Frame1.Controls.Clear 'supprime tous les controles de la collection
'créer des controles dans une boucle.
'Dim Lt As Integer, Tp As Integer, MyMenu As ComboBox, Cn As Control, nom As String
'nom = "ComboBox"
'For i = 1 To ListBox1.ListCount
' nom = nom & i
' Set Cn = UserForm1.Controls.Add("Forms.ComboBox.1", nom, True)
' With Controls(Cn.Name)
' .BackColor = RGB(155, 155, 150) 'une couleur gris sombre
' .Name = ListBox1.List(i - 1)
' .Tag = "x"
' .Visible = True
' .SpecialEffect = fmButtonEffectSunken
' .Move 10, i * 20 + 35 'dispose le contrôle dans son contenaire Left:=10,Top:=10,Width:=50,Height:=15
' End With
'Next
'retirer les controls de la collection dans une boucle
't = 1
'For i = 0 To Controls.Count - 1
'une erreur peut être généré avec cette methode. je te laisse découvrir le contrôle provoquant l'erreur
' If TypeOf Controls(i) Is ComboBox Then
' If Controls(i).Tag = "x" Then
' Controls.Remove Controls(i).Name
'
' End If
' End If
'Next
End Sub |
Partager