Dim x As Integer For x = 0 To 3 Txt(x).Text = "valeur de l'index : " & x Next
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load 'declaration des textbox Dim btn(4) As TextBox For x = 0 To btn.Length - 1 'nouveau textbox btn(x) = New TextBox With btn(x) .Width = 150 .Text "Valeur de l'index " & x.ToString .Location = New Point(5, x * 30) .Tag = x End With 'ajout d'un gestionnaire d'événement click AddHandler btn(x).Click, AddressOf btn_Click 'ajout du controle au formulaire Me.Controls.Add(btn(x)) Next End Sub Private Sub btn_Click(ByVal sender As Object, ByVal e As System.EventArgs) 'cliquer dans les textbox Dim btn As TextBox = DirectCast(sender, TextBox) MessageBox.Show(btn.Tag.ToString) End Sub
Dim Carte As Control 'défini une variable ' Cartes privatives + Tableau For Each Carte In Form2.GroupBox11.Controls 'boucle for each dans le groupe de control GroupBox11 If TypeOf Carte Is Button Then ' test du type d'objet = ici si c'est un bouton If Carte.Name.Substring(0, 4).ToString = "Card" Then ' extrait les 4 premières lettres du nom Compte += 1 ' mon traitement If Not String.IsNullOrEmpty(Carte.Tag) Then Main(Compte) = CInt(Carte.Tag.ToString.Substring(1)) 'encore mon traitement End If End If Next Carte 'bouclage
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionFor i As Integer = 1 To 3 CType(Me.Controls("monTextBox_" & i.ToString()), TextBox).Text = _ "valeur de l'index : " & i.ToString() Next
Private mesTextBox As System.Collections.Generic.SortedList(Of Integer, TextBox) Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 'Création des textbox Dim indexBdd As Integer Dim unTextBox As TextBox For indexBdd = 1 To 3 unTextBox = New TextBox() unTextBox.Name = "monTextBox_" & indexBdd.ToString() unTextBox.Text = "valeur de l'index : " & indexBdd.ToString() ... Me.Controls.Add(unTextBox) mesTextBox.Add(indexBdd, unTextBox) Next End Sub Private Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click 'Accès au textbox d'index 3 Console.WriteLine(mesTextBox(3).Text) End Sub
(car mon programme se réfère aux objets et à leur emplacement pour un redimensionnement suivant la résolution écran)
Dim x As Integer Dim y As Integer Dim z As Integer Dim var As Integer Dim var2 As Integer Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load ' définit les proportions et les variables x = Me.Width / 4 y = Me.Height / 4 z = Me.Width / 3 var = 0 var2 = 0 ' boucle pour le placement des boutons faussement indexés !!! For i As Integer = 0 To 14 CType(Me.Controls("btn_" & i.ToString()), Button).Width = x CType(Me.Controls("btn_" & i.ToString()), Button).Height = y CType(Me.Controls("btn_" & i.ToString()), Button).Top = var2 * y CType(Me.Controls("btn_" & i.ToString()), Button).Left = var * x CType(Me.Controls("btn_" & i.ToString()), Button).Text = "index : " & i.ToString() CType(Me.Controls("btn_" & i.ToString()), Button).Tag = i.ToString() ' déplacement vers la droite var = var + 1 ' descendre d'une ligne si : If i > 2 Then var2 = 1 If i > 6 Then var2 = 2 If i > 10 Then var2 = 3 ' à la ligne 3 il n' y a de 3 boutons donc on change de variable x = z End If ' retour à la ligne pour les boutons If var > 3 Then var = 0 Next End Sub
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load, Me.Resize ' Paramètres (en local !) Dim x As Integer = Me.Width / 4 Dim y As Integer = Me.Height / 4 Dim z As Integer = Me.Width / 3 Dim var As Integer = 0 Dim var2 As Integer = 0 Dim i As Integer = 0 ' boucle pour le placement des boutons faussement indexés !!! Dim MesObjets As Control For Each MesObjets In Me.Controls If TypeOf MesObjets Is Button Then With MesObjets If .Name.Substring(0, 4).ToString = "Btn_" Then 'Seuls les boutons btn_ sont concernés i = CInt(.Tag) ' récupére l'index défini dans le TAG .Width = x .Height = y .Top = var2 * y .Left = var * x End If End With End If ' déplacement vers la droite var = var + 1 ' descendre d'une ligne si : If i > 2 Then var2 = 1 If i > 6 Then var2 = 2 If i > 10 Then var2 = 3 ' à la ligne 3 il n' y a de 3 boutons donc on change de variable x = z End If ' retour à la ligne pour les boutons If var > 3 Then var = 0 Next End Sub
Private ListLabel As System.Collections.Generic.SortedList(Of Integer, Label) Private Sub PieceJointe_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load 'declaration des controls Dim label_Dir As Label For x = 0 To 6 'nouveau textbox label_Dir = New Label() With label_Dir .Name = "label_Dir" & x.ToString() .Width = 300 .Height = 20 .Location = New Point(10, x * 30) .BackColor = Color.White .Tag = x End With 'ajout du controle au formulaire Me.Panel_PJ.Controls.Add(label_Dir) ListLabel.Add(x, label_Dir) 'Ligne en erreur Next .... End sub
Je déterre ce topic
Private ListLabel As New System.Collections.Generic.SortedList(Of Integer, Label)