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

C# Discussion :

ListBox et TextBox [Débutant]


Sujet :

C#

  1. #1
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2013
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2013
    Messages : 57
    Par défaut ListBox et TextBox
    Bonjour a tous,

    Donc voici mon problème, je travail sous visual studio 2012, j'aimerais afficher dans une listbox le contenu d'une table de ma BDD. Jusqu'ici j'ai réussi bien que je ne sois pas sur de ma méthode.

    Ensuite j'aimerais qu'a la selection dans cette liste, des txtbox se remplissent avec les données correspondant a la selection.

    J'ai quelques essais mais aucun n'a réussi. <Et la doc microsoft est comment dire.. incompréhensible pour moi.

    Donc si quelqu'un pourrait m'aider ca serait sympathique, voici mon bout de code :
    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    private BDD_Entreprise_Entities _cad;
            private List<connexion> _mesCo;
            private int coEnCours;
     
            /* *****************
            * Initialisation
            * ****************/
            public FormCo()
            {
                InitializeComponent();
            }
     
            private void FormCo_Load(object sender, EventArgs e)
            {
                _cad = new BDD_Entreprise_Entities();
     
                chargement();
            }
     
            //Permet de charger les connexions dans la collection
            private void chargement()
            {
                _mesCo = new List<connexion>();
     
                foreach (connexion c in _cad.connexion)
                {
                    _mesCo.Add(c);
                }
                if (_mesCo.Count > 0)
                {
                    coEnCours = 0;
                    affiche(_mesCo[coEnCours]);
                }
            }
     
    //Permet d'afficher les connexions
            private void affiche(connexion uneCo)
            {
                //affichage de les listes
                foreach (connexion uneConnexion in _mesCo)
                {
                    listCo.Items.Add(uneConnexion.ID_CONNEXION + " - " + uneConnexion.MDP_CONNEXION);
                }
                // ou listCo.DataSource = _mesCo;
     
                lblIdCo.Text = uneCo.ID_CONNEXION.ToString();
                txtLibPseudo.Text = uneCo.PSEUDO_CONNEXION;
                txtMDP.Text = uneCo.MDP_CONNEXION;
     
                bloquerLesTextBox();
                libererLesBtn();
            }
    Voila si vous avez des questions

    Cordialement.

  2. #2
    Membre Expert Avatar de callo
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Février 2004
    Messages
    887
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Togo

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Service public

    Informations forums :
    Inscription : Février 2004
    Messages : 887
    Par défaut
    Citation Envoyé par jourzebest Voir le message
    Ensuite j'aimerais qu'a la selection dans cette liste, des txtbox se remplissent avec les données correspondant a la selection.
    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    private void listCo_SelectedIndexChanged(object sender, EventArgs e)
    {
       textBox1.Text = listCo.SelectedItem.ToString();
    }

  3. #3
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2013
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2013
    Messages : 57
    Par défaut
    Bonjour et tout d'abord merci pour la réponse.

    J'avais fait dans le listCo_selectedIndexChanged
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    foreach (connexion uneCo in _mesCo)
    {
    listCo.GetItemText(uneCo);
    }
    Mais sans résultat, j'ai donc essayer comme vous l'avez indiquer, mais ca ne fonctionne pas non plus :/

    Même on prédéterminant un SetSelected sur le premier champ de ma liste il ne s'affiche rien.

  4. #4
    Membre Expert Avatar de callo
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Février 2004
    Messages
    887
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Togo

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Service public

    Informations forums :
    Inscription : Février 2004
    Messages : 887
    Par défaut
    Citation Envoyé par jourzebest Voir le message
    J'avais fait dans le listCo_selectedIndexChanged
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    foreach (connexion uneCo in _mesCo)
    {
    listCo.GetItemText(uneCo);
    }
    Mais sans résultat
    Pourquoi effecteur une boucle _mesCo pour récupérer un élément sélectionné dans la listbox?

    Citation Envoyé par jourzebest Voir le message
    j'ai donc essayer comme vous l'avez indiquer, mais ca ne fonctionne pas non plus
    As-tu un message d'erreur? Montre ton code avec l'événement dont tu te sers pour récupérer l'item sélectionné.

    Citation Envoyé par jourzebest Voir le message
    Même on prédéterminant un SetSelected sur le premier champ de ma liste il ne s'affiche rien.
    Je ne vois pas très bien ce que tu veux dire par là...

  5. #5
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2013
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2013
    Messages : 57
    Par défaut
    Donc voici ce que j'ai fait :
    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
    private void affiche(connexion uneCo)
            {
                lblIdCo.Text = uneCo.ID_CONNEXION.ToString();
                txtLibPseudo.Text = uneCo.PSEUDO_CONNEXION;
                txtMDP.Text = uneCo.MDP_CONNEXION;
     
                bloquerLesTextBox();
     
                //affichage de les listes
                foreach (connexion uneConnexion in _mesCo)
                {
                    listCo.Items.Add(uneConnexion);
                }
                listCo.SetSelected(0, true); // je selectionne par défault le premier élément    
            }
     
            private void listCo_selectedIndexChanged(object sender, EventArgs e)
            {
                textBox1.Text = listCo.SelectedItem.ToString(); 
            }
    Il n'y a pas de message d'erreur, la textBox est juste vide.

  6. #6
    Membre Expert Avatar de callo
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Février 2004
    Messages
    887
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Togo

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Service public

    Informations forums :
    Inscription : Février 2004
    Messages : 887
    Par défaut
    Bizarre! Si ta listbox est bien remplie, il n'y pas de raison pour que l'instruction
    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    private void listCo_SelectedIndexChanged(object sender, EventArgs e)
    {
       textBox1.Text = listCo.SelectedItem.ToString();
    }
    ne donne pas le résultat attendu. Là comme ça, je ne vois pas bien où se situe le blocage...

  7. #7
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2013
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2013
    Messages : 35
    Par défaut
    Bonjour,

    je me permets de suggérer quelques essais pour vérifier que tout est bien "raccord' dans ton code (questions qui peuvent paraître triviales, mais un oubli est vite arrivé ) :

    -As-tu, dans les propriétés de ta listBox (listeCo) la fonction assignée ? Tu dois avoir, dans ton designer la ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this.listeCo.SelectedIndexChanged += new System.EventHandler(this.listeCo_SelectedIndexChanged);
    Vu que tu as fait des modifications sur cette méthode, on ne sait jamais.

    -Ensuite, vérifie que la méthode est bien appelée quand tu fais une sélection (en mettant un point d'arrêt ou un System.Diagnostics.Debug.Write("Coucou"); )

    -Enfin, le textBox est-il réellement vide ou graphiquement mal affiché...? Tu peux donc faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    private void listCo_SelectedIndexChanged(object sender, EventArgs e)
    {
       textBox1.Text = listCo.SelectedItem.ToString();
       System.Diagnostics.Debug.Write("Coucou");
       System.Diagnostics.Debug.Write(textBox1.Text.ToString());
    }

    Voilà ensuite on verra comment tu assignes les autres champs en fonction de la ligne sélectionné (parceque c'est le but initial, isn't it ? )

    Arnaud DS

  8. #8
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2013
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2013
    Messages : 57
    Par défaut
    Bonjour,

    Citation Envoyé par ArnaudDS Voir le message
    -As-tu, dans les propriétés de ta listBox (listeCo) la fonction assignée ? Tu dois avoir, dans ton designer la ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this.listeCo.SelectedIndexChanged += new System.EventHandler(this.listeCo_SelectedIndexChanged);
    C'est belle et bien ceci qu'il me manqué

    Merci a vous deux

    J'aurais une autre petit question, dans la liste j'affiche (dans cette exemple) :
    id_co + "- " + pseudo_co + " " + mdp_co

    C'est donc tout ceci qui est affiché dans mes txtbox. Y a t-il un moyen de le découpé assez simplement ? Ou de reprendre par exemple, seulement le pseudo de la ligne selectionné pour l'affiché dans la txt_pseudo ?

    Cordialement, et encore merci de votre aide.

  9. #9
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2013
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2013
    Messages : 35
    Par défaut
    J'aurais une autre petit question, dans la liste j'affiche (dans cette exemple) :
    id_co + "- " + pseudo_co + "-" + mdp_co

    C'est donc tout ceci qui est affiché dans mes txtbox. Y a t-il un moyen de le découpé assez simplement ? Ou de reprendre par exemple, seulement le pseudo de la ligne sélectionné pour l'affiché dans la txt_pseudo ?
    Oui, grâce à la méthode "Split(char[])". Il faut par contre être sûr que tes trois variables ne contiendront pas l'élément séparateur (dans ton exemple, le '-', je l'ai rajouté entre la deuxième et la troisième variable car je pense que c'était un oubli de ta part).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     string test = "id_co - pseudo_co - mdp_co";
                string[] recup = test.Split('-');
                string monPseudo = recup[1];
    Arnaud DS

  10. #10
    Membre Expert Avatar de callo
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Février 2004
    Messages
    887
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Togo

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Service public

    Informations forums :
    Inscription : Février 2004
    Messages : 887
    Par défaut
    Sers toi de la fonction split.

  11. #11
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2013
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2013
    Messages : 57
    Par défaut
    Je vais m'y mettre, encore merci a vous deux

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

Discussions similaires

  1. [XL-2003] UserForm listBox eT textBox
    Par alex santus dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 29/05/2009, 17h15
  2. [XL-2003] affichage de donnée dans une listbox ou textbox d'un userform
    Par revemane dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 17/05/2009, 20h13
  3. lien entre Listbox et textbox en wpf
    Par brad63 dans le forum VB.NET
    Réponses: 3
    Dernier message: 23/01/2009, 10h05
  4. Listbox vers Textbox via clée primaire
    Par Remus91 dans le forum IHM
    Réponses: 5
    Dernier message: 19/01/2009, 12h34
  5. comment prend un line de Listbox vers Textbox
    Par bergeny dans le forum VB 6 et antérieur
    Réponses: 11
    Dernier message: 01/06/2008, 03h02

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