Ajouter dynamiquement un groupe de textbox pour des calcul

Résolu
amistos Messages postés 12 Statut Membre -  
amistos Messages postés 12 Statut Membre -
Bonjour, a tous

voila je c que c dit plusieurs fois mais dans mon cas sous vb.net 2010 express je veux créer plusieurs textbox dynamiquement qui seront liées par plusieurs formule de calcul.

y'aurait il par hasard une façon plus simple pour parcourir une marge des textbox par exemple en les spécifiant par leur noms ou autre chose .. etc

" sinon de mon coté j ai essayé avec un code qui créé des textbox tout en leur ajoutant un compteur a leur propriété Name mais lorsque je veux les parcourir j en sais pas trop comment faire"

merci d'avance les pro de prendre le Temp de comprendre mon problème

4 réponses

  1. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
     
    Bonjour,

    Mettre un panel et 2 buttons avec ce code:

    Option Strict On
    Public Class Form1
        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
        Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click
            Dim ctrl As Control
            For Each ctrl In Panel1.Controls
    
                If (ctrl.GetType() Is GetType(TextBox)) Then
                    Dim txt As TextBox = CType(ctrl, TextBox)
                    MsgBox(txt.TabIndex)
                End If
            Next
        End Sub
    
        Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
            Button1.Text = "Creer"
            Button2.Text = "Index"
        End Sub
    End Class
    

    1
  2. Utilisateur anonyme
     
    Bonsoir,
    Tabindex n'est pas un index pour retrouver un contrôle.
    C'est ce qui détermine l'ordre de déplacement du focus avec la touche Tabulation.

    Si tu veux pouvoir récuperer tes objets, au moment ou tu les gères mets les dans une liste.
    Tu peux aussi mettre un index ou un identificateur dans la propriété Tag.

    --
    1
    1. amistos Messages postés 12 Statut Membre 1
       
      bonsoir,

      j ai essayé avec la tabindex le code et ça a marché:

       Public Class Form1

      Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
      Dim a As Integer = 0
      Dim b As Integer = 0
      For i = 0 To 10 - 1
      a = a + 1
      Dim TXT As TextBox = New TextBox
      Panel1.Controls.Add(TXT)
      With TXT.Name = "gbox"
      TXT.Top = b
      TabIndex = a
      End With
      b = b + 30

      Next


      End Sub

      Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
      For Each ctrl As TextBox In Panel1.Controls
      If ctrl.TabIndex > 4 Then ctrl.Text = "45"
      Next
      End Sub
      End Class


      est ce que j aurai des problèmes si je l'utilise de cette manière ou CA sera plu pratique de travailler avec le TAG.

      en vb 6 c'était possible d'avoir un group de control sous le même nom avec les index différent par contre en vb.net 10 express c plus possible !!!

      merci
      0
    2. amistos Messages postés 12 Statut Membre 1
       
      re bonsoir,

      c'est bon la liste fera l'affaire merci beaucoup. On est Jamais déçu sur CCM ^^ .

      je met en résolu .merci
      0
  3. Utilisateur anonyme
     
    Bonjour,

    que veux tu dire par
    pour parcourir une marge des textbox
    ?
    0
    1. amistos Messages postés 12 Statut Membre 1
       
      bonjour, Whismeril
      signfie que j aurai besoin de recuperer les données entrer par l'utilisateur, et puisque le nombre des textbox qui seront creer dynamiquement n'est pas constant donc faudra un code pour parcourir les textbox ,voila j esper que c bien claire! merci
      0
  4. amistos Messages postés 12 Statut Membre 1
     
    bonjour , cs_Le Pivert

    d'abord merci pour la rapidité de votre reponse.

    pour le code qui genere les textbox avec les proprieté left top etc... je l ai deja dans mon code par contre je croi que la solution a mon problem c la partie ou ta utilisé la "tabindex" si possible quelque explication sur comment on peut utilisé la "tabindex" ou l index du controle en general pour traiter une collection des Tbox et merci encore !!
    0