[VB] Création dynamique de TextBox

erwan51 Messages postés 634 Statut Contributeur -  
 younes-zi -
Bonjour,

Savez vous comment créer dynamiquement un objet de type Text Box sous VB?

Par exemple, on a une feuille avec une TextBox et un bouton.

On saisit 3 ds la textbox, on valide et ca genere trois nouvelles textbox...

Merci d'avance

A+
Erwan51

2 réponses

  1. jeremy
     
    Voila, je pense que ca pourrai t'aider s'il n'est pas trop tard. J'ai eu un peu de mal mais j'ai fouillé un peu partout sur le net des solutions. Mon objectif etait le meme que toi.

    Private Sub Valider_Click()

    Dim Top, Left, Width, Height, i As Integer
    Dim NumeroTextBox As Integer
    Dim TextBoxName As String

    Top = 150
    Left = 150
    Width = 2000
    Height = 275
    NumeroTextBox = 1

    For i = 0 To 4 - 1

    TextBoxName = "NomdelaTextBox" & NumeroTextBox
    Set TextBox = Controls.Add("VB.textbox", "" & TextBoxName & "", Ouverture) 'Ouverture est le nom de ma fenetre

    With TextBox
    .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
    .Font.Size = 8
    End With

    Top = Top + 500
    NumeroTextBox = NumeroTextBox + 1

    Next

    End Sub
    14
  2. Jane
     
    Bonjour,

    Le message date de quelques années, mais je tente tout de même... J'essaye de faire exactement la même chose que le programme précédent, mais je ne comprend pas cette ligne :
    Set TextBox = Controls.Add("VB.textbox", "" & TextBoxName & "", Ouverture)
    je débute en VB, pourriez-vous m'expliquer ?

    Jane
    1
    1. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
       
      Bonjour,
      Pas grave pour la remontée du vieux message...
      Je n'ai personnellement jamais créé d'objet de manière dynamique, mais si vous débutez, je vous recommande ce lien très utile, et bien expliqué...
      Bon courage pour la suite.
      0
    2. et hop !
       
      simplement qu'il ajoute une textbox de nom "textBoxName" dans son Form "Ouverture"

      Si je ne me trompe pas.
      0
    3. gugus
       
      réponse tardive ^^
      "et hop !", lorsque tu a posté ce message, je n'aurais rien compris au terme vb.net, a la prog et tout ca...
      en un an, j'ai bien prograssé(j'ai 15 ans)... bon aller fini de raconter ma vie
      je voulais dire que:
      Set TextBox = Controls.Add("VB.textbox", "" &TextBoxName & "", Ouverture)
      signifie:
      on ajoute une textbox de nom:(contenu de TextBoxName car c'est une variable) dans la form(feunetre) de nom ouverture qui existe déja
      lorsqu'on déclare un objet, le nom est toujours entre guillemets or la, c'est entre deux paires de guillemets avec les signes & qui servent à inclure la variable TextBoxName dans les guillemets. on aurait donc pu écrire cette ligne ainsi:
      Set TextBox = Controls.Add("VB.textbox", TextBoxName, Ouverture)
      ou ainsi:
      Set TextBox = Controls.Add("VB.textbox", "NomdelaTextBox1", Ouverture)


      bien à vous :)
      0
    4. younes-zi
       
      je veux limiter saisie aux chiffres dans les textbox comment faire !!? o.O
      0