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 :

[C#] Randomisation sur TextBox


Sujet :

Windows Forms

  1. #1
    Membre extrêmement actif
    Avatar de ArHacKnIdE
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 947
    Détails du profil
    Informations personnelles :
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 947
    Points : 1 921
    Points
    1 921
    Par défaut [C#] Randomisation sur TextBox
    Bonjour à tous,

    Voilà, j'ai 8 TextBox qui se présente à moi, je dois afficher "O", dans
    une des 8 mais de façon aléatoire...

    Comment faire un random de TextBox, pour que mon "O" ne
    s'affiche dans une seule des 8 TextBox ?

    Merci.

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    144
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2005
    Messages : 144
    Points : 94
    Points
    94
    Par défaut
    Met tes TextBoxs dans un ArrayList et fais un modulo de 8 d'un chiffre aléatoire qui sera l'index de ta TextBox dans l'ArraList et affecte lui ton 0.

  3. #3
    Membre extrêmement actif
    Avatar de ArHacKnIdE
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 947
    Détails du profil
    Informations personnelles :
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 947
    Points : 1 921
    Points
    1 921
    Par défaut
    Merci bcp tu as l'air de connaître la solution mais j'ai pas tout saisi je crois ...

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    344
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 344
    Points : 291
    Points
    291
    Par défaut
    Tu places les références de tes 8 textbox dans une ArrayList

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Dim myArray As New ArrayList(8)
    Dim generateur As New Random
     
    myArray.Add(textBox1)
    myArray.Add(textBox2)
    ...
     
    // Récupère un index au hasard (ou presque).
    index = generateur.Next() mod 8
     
    DirectCast(myArray.Item(index),TextBox).Text = "0"
    Et voila le tour est joué ...

  5. #5
    Membre extrêmement actif
    Avatar de ArHacKnIdE
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 947
    Détails du profil
    Informations personnelles :
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 947
    Points : 1 921
    Points
    1 921
    Par défaut
    Merci bcp je vais regarder ça !

    C'est du VB mais je vais essayer de le mettre en C#...

  6. #6
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    344
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 344
    Points : 291
    Points
    291
    Par défaut
    C'est du VB mais je vais essayer de le mettre en C#...
    Oui excuse moi ....

    La conversion n'est compliquée ....

  7. #7
    Membre extrêmement actif
    Avatar de ArHacKnIdE
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 947
    Détails du profil
    Informations personnelles :
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 947
    Points : 1 921
    Points
    1 921
    Par défaut
    Bien euh, en fait j'ai pas réussi à l'exploiter en C#, j'ai cherché un
    logiciel mais sans succès...

    Merci

  8. #8
    Membre extrêmement actif
    Avatar de ArHacKnIdE
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 947
    Détails du profil
    Informations personnelles :
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 947
    Points : 1 921
    Points
    1 921
    Par défaut
    J'ai testé le convertisseur de la rubrique outils DotNET mais il
    ne marche pas, en tout cas pas avec ce bout de code

    Merci pour tout...

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    144
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2005
    Messages : 144
    Points : 94
    Points
    94
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
     
    // Déclaration de l'ArrayList
    System.Collections.ArrayList a = new ArrayList() ;
     
    // Insertion des TextBoxes dans l'ArraList
    a.Add(TextBox1) ;
    a.Add(TextBox2) ;
    a.Add(TextBox3) ;
    a.Add(TextBox4) ;
    a.Add(TextBox5) ;
    a.Add(TextBox6) ;
    a.Add(TextBox7) ;
    a.Add(TextBox8) ;
     
    // Randomisation l'index:
    Random r = new Random() ;
    int nb = r.Next() % 8 ;
     
    // Récupération de la TextBox au hasard:
    TextBox tb = (TextBox) a[nb] ;
     
    // Voilà!

  10. #10
    Membre extrêmement actif
    Avatar de ArHacKnIdE
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 947
    Détails du profil
    Informations personnelles :
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 947
    Points : 1 921
    Points
    1 921
    Par défaut
    Merci je vais regarder ça et je vous tiens au courant...

  11. #11
    Membre extrêmement actif
    Avatar de ArHacKnIdE
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 947
    Détails du profil
    Informations personnelles :
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 947
    Points : 1 921
    Points
    1 921
    Par défaut
    Euh, j'ai une petite erreur :

    The type or namespace name 'ArrayList' could not be found (are you missing a using directive or an assembly reference?)
    C'est sur la déclaration de l'ArrayList

    Et tant que j'y pense, je fais comment là pour afficher mon 'O' dans la textBox choisit au hasard

    Merci pour tout!

  12. #12
    Expert éminent
    Avatar de StormimOn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    2 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 593
    Points : 7 660
    Points
    7 660
    Par défaut
    Citation Envoyé par ArHacKnIdE
    Euh, j'ai une petite erreur :

    The type or namespace name 'ArrayList' could not be found (are you missing a using directive or an assembly reference?)
    C'est sur la déclaration de l'ArrayList

    Et tant que j'y pense, je fais comment là pour afficher mon 'O' dans la textBox choisit au hasard

    Merci pour tout!
    Regardes un peu le code fourni et n'attends pas forcément que tout te tombe tout cuit dans la main

    Pour le problème avec la déclaration de l'ArrayList, je dirais que c'est que sur le new, le namespace n'est pas indiqué donc il ne connait pas le type que tu cherches à instancier.

    Par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.Collections.ArrayList a = new System.Collections.ArrayList();
    Et ca devrait mieux aller. Tu peux également faire un using pour ne pas indiquer le namespace à chaque coup.

    Et pour afficher ton 'O' et bien il suffit d'utiliser la TextBox tb et de lui assigner ton texte.

  13. #13
    Membre extrêmement actif
    Avatar de ArHacKnIdE
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 947
    Détails du profil
    Informations personnelles :
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 947
    Points : 1 921
    Points
    1 921
    Par défaut
    Merci bcp à tous

  14. #14
    Membre extrêmement actif
    Avatar de ArHacKnIdE
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 947
    Détails du profil
    Informations personnelles :
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 947
    Points : 1 921
    Points
    1 921
    Par défaut
    Bon bien je n'y arrive vraiment pas

    Soit c'est galère, soit c'est moi

  15. #15
    Expert éminent
    Avatar de StormimOn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    2 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 593
    Points : 7 660
    Points
    7 660
    Par défaut
    Citation Envoyé par ArHacKnIdE
    Bon bien je n'y arrive vraiment pas
    C'est à dire ? Précise le problème parce que sinon on ne pourra pas t'aider. Où est-ce que ca coince maintenant ? Des erreurs particulières ? ... ?

  16. #16
    Membre extrêmement actif
    Avatar de ArHacKnIdE
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 947
    Détails du profil
    Informations personnelles :
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 947
    Points : 1 921
    Points
    1 921
    Par défaut
    Donc :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    System.Collections.ArrayList a = new System.Collections.ArrayList();
     
    // Insertion des TextBoxes dans l'ArraList 
    a.Add(TextBox1) ; 
    a.Add(TextBox2) ; 
    a.Add(TextBox3) ; 
    a.Add(TextBox4) ; 
    a.Add(TextBox5) ; 
    a.Add(TextBox6) ; 
    a.Add(TextBox7) ; 
    a.Add(TextBox8) ; 
     
    // Randomisation l'index: 
    Random r = new Random() ; 
    int nb = r.Next() % 8 ; 
     
    // Récupération de la TextBox au hasard: 
    TextBox tb = (TextBox) a[nb] ;
    Ne génère plus d'erreur, mais je n'arrive pas à faire
    que quand je clique sur mon bouton, mon 'O'
    s'affiche donc dans une des textBox...

    Merci beaucoup

  17. #17
    Expert éminent
    Avatar de StormimOn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    2 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 593
    Points : 7 660
    Points
    7 660
    Par défaut
    Citation Envoyé par ArHacKnIdE
    mais je n'arrive pas à faire que quand je clique sur mon bouton, mon 'O' s'affiche donc dans une des textBox...
    Il est où le code que tu exécutes lorsque tu cliques sur ton bouton ? A moins que ce soit celui que tu viens d'afficher. Dans ce cas, où est le tb.Text = 'O' ?

  18. #18
    Membre extrêmement actif
    Avatar de ArHacKnIdE
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 947
    Détails du profil
    Informations personnelles :
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 947
    Points : 1 921
    Points
    1 921
    Par défaut
    J'ai ça en fait, dans un Timer :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    private void timer1_Tick(object sender, EventArgs e)
            {
     
                System.Collections.ArrayList a = new System.Collections.ArrayList();
     
                // Insertion des TextBoxes dans l'ArraList 
                a.Add(textBox1);
                a.Add(textBox2);
                a.Add(textBox3);
                a.Add(textBox4);
                a.Add(textBox5);
                a.Add(textBox6);
                a.Add(textBox7);
                a.Add(textBox8);
     
    // Randomisation l'index: 
                Random r = new Random();
                int nb = r.Next() % 8;
     
                // Récupération de la TextBox au hasard: 
                TextBox tb = (TextBox)a[nb]; 
     
                tb.Text = "O";
    }
    Qui marche! Merci...

    Mais j'ai ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    private void button1_Click(object sender, EventArgs e)
            {
                System.Collections.ArrayList a = new System.Collections.ArrayList();
     
                // Insertion des TextBoxes dans l'ArraList 
                a.Add(textBox1);
                a.Add(textBox2);
                a.Add(textBox3);
                a.Add(textBox4);
                a.Add(textBox5);
                a.Add(textBox6);
                a.Add(textBox7);
                a.Add(textBox8);
     
     
                // Randomisation l'index: 
                Random r = new Random();
                int nb = r.Next() % 8;
     
                // Récupération de la TextBox au hasard: 
                TextBox tb = (TextBox)a[nb];
                tb.Text = "O";
            }
    Qui marche pas, mais pourquoi ?!

    Merci

  19. #19
    Membre extrêmement actif
    Avatar de ArHacKnIdE
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 947
    Détails du profil
    Informations personnelles :
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 947
    Points : 1 921
    Points
    1 921
    Par défaut
    Non! C'est mon qui me suis trompé en fait

    Encore Merci pour tout et à tous...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. questions sur textBox
    Par Jacen dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 21/06/2006, 11h20
  2. Réponses: 1
    Dernier message: 25/04/2006, 16h22
  3. [C#][1.1] Evénement "keyPress" sur textbox?
    Par gdkenny dans le forum ASP.NET
    Réponses: 4
    Dernier message: 30/03/2006, 12h11
  4. [VBA-E] ré-autoriser écriture sur TextBox
    Par repié dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 03/03/2006, 15h35
  5. [VB.NET] focus déficiant sur TextBox
    Par joefou dans le forum Windows Forms
    Réponses: 2
    Dernier message: 12/10/2005, 14h56

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