IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Forms Discussion :

[VB.NET] problème variables dans les textbox


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Inscrit en
    Octobre 2006
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 11
    Par défaut [VB.NET] problème variables dans les textbox
    Bonjour,

    Etant en train d'essayer de réaliser un jeu, je dispose de 100 "cases" (10x10) textbox. Désirant rentrer les valeurs saisies par l'utilisateur dans une matrice 10x10, je suis obligé de faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    if txt11.text <> "" then
    matrice[1,1]= txt11.text
    end if
     
    if txt21.text <> "" then
    matrice[2,1]= txt21.text
    end if
     
    if txt31.text <> "" then
    matrice[3,1]= txt31.text
    end if
    Et cela 100 fois de 1-1 à 10-10.

    Existe-il une manière d'optimiser le programme avec par exemple une boucle for ? Si oui, comment puis-je l'utiliser ? En effet, je n'arrive pas à "mettre" des variables dans la propriété text des textbox...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    For x = 1 to 10
       For y = 1 To 10
          if txt??.text <> "" then
             matrice[x,x]= txt??.text
          end if
       Next x
    Next y
    Merci d'avance pour votre aide,

    P. PElERIN

  2. #2
    Membre émérite
    Inscrit en
    Août 2006
    Messages
    550
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Août 2006
    Messages : 550
    Par défaut
    Bonjour,

    A ma Connaissance, ce n'est pas possible.

    Par contre, tu peux créer ton propre tableau à 2 dimensions et y affecter les réferences de tes controls

    ex:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Dim monTableau(10,10) As TextBox
     
    MonTableau(1,1) = txt11
    MonTableau(1,2) = txt12
    MonTableau(1,3) = txt13
    MonTableau(1,4) = txt14
    MonTableau(1,5) = txt15
    ...

    Ensuite, tu n'as plus qu'à itérer sur ce tableau.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2002
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 168
    Par défaut
    Pourquoi ne pas créer tes controles dynamiquement ?

    For x = 1 to 10
    For y = 1 To 10
    dim txt as new TextBox
    me.controls.add(txt)
    txt.left = calcul pour l'emplacement horizontal
    txt.top = calcul pour l'emplacement vertical
    txt.size = new size( 40, 30 )
    txt.text = ta_valeur
    Next x
    Next y

    En esperant t'aider...

  4. #4
    Membre habitué
    Inscrit en
    Octobre 2006
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 11
    Par défaut
    Bonjour,

    Alexandre : Les controles sont déjà créés, moi en fait je voudrais non pas afficher des textes mais lire ceux entrés par l'utilisateur et les mettre dans un tableau...

    Kelpan :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MonTableau(1,1) = txt11.text
    c'est une bonne idée mais je pense que ça ne marchera pas si certaines cases (textbox) sont vides, donc ça revient à
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if txt11.text <> "" then
    matrice[1,1]= txt11.text
    end if
    Merci quand meme d'avoir essayé de m'aider ;-)

    Si quelqu'un a une autre idée, je suis preneur, sinon je vais garder ma méthode (ça ne me dérange pas de taper les 100 instuctions [copier-coller] mais je trouve seulement que ça ne fait pas un "beau" code...)

    Merci à tous,

    Pierre PELERIN.

  5. #5
    Membre émérite
    Inscrit en
    Août 2006
    Messages
    550
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Août 2006
    Messages : 550
    Par défaut
    Citation Envoyé par pierrepelerin

    Kelpan :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MonTableau(1,1) = txt11.text
    c'est une bonne idée mais je pense que ça ne marchera pas si certaines cases (textbox) sont vides, donc ça revient à
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if txt11.text <> "" then
    matrice[1,1]= txt11.text
    end if
    Merci quand meme d'avoir essayé de m'aider ;-)
    Euh non ! pas vraiment

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    For i = 1 to 10
        For j = 1 to 10
            If MonTableau(i,j).Text <> "" Then
                matrice(1,1) = MonTableau(i,j).Text
            End if
        Next j
    Next i
    est différent de ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    if txt11.text <> "" then
        matrice[1,1]= txt11.text
    end if
    if txt21.text <> "" then
        matrice[2,1]= txt21.text
    end if
    if txt31.text <> "" then
        matrice[3,1]= txt31.text
    end if
    ...

  6. #6
    Membre habitué
    Inscrit en
    Octobre 2006
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 11
    Par défaut
    Oui mais le problème est que je souhaite récupérer les chiffres entrés de textbox ; dans ton exemple tu pars d'un tableau, est-il possible de "transformer" un ensemble de textbox en tableau ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    For i = 1 to 10
        For j = 1 to 10
            If MonTableau(i,j).Text <> "" Then
                matrice(1,1) = MonTableau(i,j).Text
            End if
        Next j
    Next i
    Pierre PELERIN

Discussions similaires

  1. [PowerShell] Problème de variable dans les fonctions. (windows forms)
    Par gretch dans le forum Scripts/Batch
    Réponses: 5
    Dernier message: 20/08/2014, 15h02
  2. Problème d'affichage dans les textbox
    Par popinenhbourg dans le forum Servlets/JSP
    Réponses: 8
    Dernier message: 28/02/2006, 12h09
  3. Problème d'affichage dans les textbox
    Par popinenhbourg dans le forum Balisage (X)HTML et validation W3C
    Réponses: 7
    Dernier message: 28/02/2006, 11h36
  4. [EasyPHP] problème de visibilité des variable dans les includes
    Par d1g-2-d1g dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 4
    Dernier message: 23/10/2005, 01h55
  5. [VB.NET] [Débutant] Probléme de variable dans les requettes
    Par Silvia12 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 07/03/2005, 13h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo