Créer des textbox et labels dynamiques

womangeek Messages postés 13 Date d'inscription jeudi 17 avril 2014 Statut Membre Dernière intervention 6 mai 2016 - 10 juin 2015 à 15:42
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 - 10 juin 2015 à 17:47
Bonjour,
Je souhaite créer des labels et des textbox dynamiquement disposés de cette façon, merci
A voir également:

5 réponses

cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 137
10 juin 2015 à 16:25
J'ai fait cela avec des TextBox:

 Dim Txt As TextBox
    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
        Dim Top, Left, Width, Height As Integer
        Dim NumeroTextBox As Integer
        Top = 10
        Left = 10
        Width = 100
        Height = 20
        NumeroTextBox = 1
        For i = 0 To 4 - 1
            Txt = New TextBox()
            With Txt
                .Visible = True
                .Top = Top 'Definit la distance entre le bord de la fenetre et le bord du conteneur 
                .Left = Left 'Definit la distance entre le bord gauche de la fenetre et le bord du conteneur 
                .Width = Width 'Definit la largeur de l'objet 
                .Height = Height 'Definit la hauteur de l'objet 
            End With
            Panel1.Controls.Add(Txt)
            Top = Top + 30
            NumeroTextBox = NumeroTextBox + 1
        Next
    End Sub


Dans cet exemple les TextBox sont crées dans un panel
Adapte le pour tes labels avec tes dimensions
1
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 137
10 juin 2015 à 15:59
Bonjour,

Une petite recherche sur Google t'aurait donné cela:

http://vb.net-informations.com/gui/dynamic-controls-vb.htm
0
womangeek Messages postés 13 Date d'inscription jeudi 17 avril 2014 Statut Membre Dernière intervention 6 mai 2016
10 juin 2015 à 16:04
merci pour votre réponse, en fait, j'ai réussi à faire cela c'est juste aimé les mettre comme sur la photo
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 137
10 juin 2015 à 16:17
Il faut jouer sur les propriétés des labels:

Top (dimension suivant le haut de l'interface)
Left (dimension suivant le bord gauche de l'interface)
0
womangeek Messages postés 13 Date d'inscription jeudi 17 avril 2014 Statut Membre Dernière intervention 6 mai 2016
Modifié par ucfoutu le 11/06/2015 à 23:27
merci ça c'est fait pour mi , voila on code :
Pour la creation des textbox
For k = 0 To CInt(Round(Len(monString) / 8)) - 1
TabTXT(k) = New TextBox
TabTXT(k).Location = New System.Drawing.Point(734, 10 + 25 * k)
TabTXT(k).Name = "TabTXT" & k
TabTXT(k).Size = New System.Drawing.Size(104, 24)
TabTXT(k).TabIndex = k
TabTXT(k).Text = monTab(k)
Me.Controls.Add(TabTXT(k))
Next

Pour la creation des label
Sub DynamicArrayofControls()
Dim i As Integer = 0
ReDim MyLabel(Round(Len(monString) / 8))
For k = 0 To CInt(Round(Len(monString) / 8)) - 1
MyLabel(k) = New Label
With MyLabel(k)
.Name = "Label" & k
.Text = myStrList(i).ToString
.Visible = True
.Location = New System.Drawing.Point(610, 10 + 25 * k)
Me.Controls.Add(MyLabel(k))
i = i + 1
End With
Next

mais cela me donne des textbox devant les label et non pas comme j'ai souhaité les disposer

Je suis intervenu pour mettre de l'ordre dans les balises code.
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
10 juin 2015 à 17:36
Bonjour,
Là, ta difficulté n'est pas dans le code, mais celle que tu rencontres à résoudre un simple calcul arithmétique !
Tu positionnes verticalement tes texboxes par k * leur hauteur !
Et tu en fais autant avec tes labels !
Et tu t'étonnes de leur superposition ?
Un peu (très peu) de réflexion pour comprendre :
que l'espacement vertical de tes textboxes doit être un multiple de : la hauteur d'un label + l'écart (que tu décides) entre le label et la textbox !
Idem (calcul arithmétique) pour positionner les labels.

Tout cela n'est que calcul élémentaire. Fais-le d'abord avec une feuille de papier et un c rayon, sans code !

0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 137
10 juin 2015 à 17:47
Mets Option Strict On en haut et tu vas voir toutes les erreurs qu'il y a.

Je ne peux pas corriger un code avec toutes ces erreurs.

Et comme te l'a dit ucfoutu que je salue, c'est un simple calcul arithmétique

On te donnes des exemples dont tu ne te sers pas. C'est pas la peine de poser des questions sur ce forum.
0
Rejoignez-nous