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 :

Afficher un élément sélectionné d'une ListView


Sujet :

Windows Forms

  1. #1
    Membre régulier
    Profil pro
    IT Développeur
    Inscrit en
    Mars 2009
    Messages
    274
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : IT Développeur

    Informations forums :
    Inscription : Mars 2009
    Messages : 274
    Points : 96
    Points
    96
    Par défaut Afficher un élément sélectionné d'une ListView
    Bonjour,

    je me suis mis récemment au c#. Je cherche à afficher dans une TxtBox les valeurs d'une ligne sélectionné dans une ListView.

    En cherchant sur le net, j'ai trouvé qu'il faut utiliser un SelectedItems que j'ai utilisé comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    if (listViewPrincipal.SelectedItems.Count > 0)
                { 
                labNomArtiste.Text = listViewPrincipal.SelectedItems[0].Text;
                }
    Mais rien ne s'affiche dans mon TextBox

    Quelqu'un aurait-il une idée?

    Merci

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    A quel endroit as-tu mis ce code ? Il faut le mettre dans l'évènement SelectedIndexChanged de la ListView

  3. #3
    Membre régulier
    Profil pro
    IT Développeur
    Inscrit en
    Mars 2009
    Messages
    274
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : IT Développeur

    Informations forums :
    Inscription : Mars 2009
    Messages : 274
    Points : 96
    Points
    96
    Par défaut
    Bonjour,

    Merci pour ton aide tomlev.

    Je l'ai placé dans le champ (textbox) qui est censé afficher le résultat de ma ligne. Ce champ se trouve sur le même formulaire que ma ListView.

    Cela donne ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     private void labNomArtiste_Click(object sender, EventArgs e)
            {
                if (listViewPrincipal.SelectedItems.Count > 0)
                { 
                labNomArtiste.Text = listViewPrincipal.SelectedItems[0].Text;
                }
            }
    Je dois certainement mal l'utiliser ?

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Bah ça a pas vraiment de sens... avec ce code, c'est quand tu vas cliquer la TextBox que le texte va s'afficher ; pas très intuitif. Tu as essayé de faire comme je t'ai dit ?

  5. #5
    Membre régulier
    Profil pro
    IT Développeur
    Inscrit en
    Mars 2009
    Messages
    274
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : IT Développeur

    Informations forums :
    Inscription : Mars 2009
    Messages : 274
    Points : 96
    Points
    96
    Par défaut
    Non, je n'ai pas essayé comme tu as dit. Je ne vois pas trop comment faire.
    Je dois créer un delegate puis un évènement ?

    Je te mets le code de mon formulaire principale peut etre y verras-tu plus clair. Je crois que je dois oublier quelque chose.

    Pour info, la ListView se remplit à partir d'un autre formulaire rempli par l'utilisateur.

    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
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
     
    namespace CdTheque
    {
        public partial class FormCDTheque : Form
        {
            public FormCDTheque()
            {
                InitializeComponent();
            }
     
            private void label1_Click(object sender, EventArgs e)
            {
     
            }
     
            private void btnNewCD_Click(object sender, EventArgs e)
            {
                FormNewCD NouveauCD = new FormNewCD();
     
                NouveauCD.UnNouveauCd += new FormNewCD.ClickNewCD(RecupNewCD);
     
                NouveauCD.Show();
            }
     
            private void listView1_SelectedIndexChanged(object sender, EventArgs e)
            {
     
            }
     
            private void btnClose_Click(object sender, EventArgs e)
            {
                this.Close();
            }
     
            // Recuperation Données CD
            private void RecupNewCD(string Artiste, string Titre, int Annee, string Genre)
            {
                int i; // Compteur
     
                // Tableau de Type CD
                CD[] NewCD = new CD[1];
     
                // Boucle qui rempli le tableau
                for (i = 0; i < NewCD.Length; i++)
                {
                    NewCD[i] = new CD(Artiste, Titre, Annee, Genre);
     
                    // Affichage dans la ListeView de la fenetre FormCDTheque
                    ListViewItem lvi = new ListViewItem(NewCD[i]._Titre);
                    lvi.SubItems.Add(NewCD[i]._Artiste);
                    lvi.SubItems.Add(NewCD[i]._Annee);
                    lvi.SubItems.Add(NewCD[i]._Genre);
     
                    listViewPrincipal.Items.Add(lvi);
                }
            }
     
            private void labNomArtiste_Click(object sender, EventArgs e)
            {
                if (listViewPrincipal.SelectedItems.Count > 0)
                { 
                labNomArtiste.Text = listViewPrincipal.SelectedItems[0].Text;
                }
            }
        }
    }

  6. #6
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Citation Envoyé par paintbox Voir le message
    Non, je n'ai pas essayé comme tu as dit. Je ne vois pas trop comment faire.
    Je dois créer un delegate puis un évènement ?
    Pas la peine, tu peux le faire dans le designer... tu sélectionnes la ListView, tu affiches la liste des évènements, et tu double-cliques sur SelectedIndexChanged

  7. #7
    Membre régulier
    Profil pro
    IT Développeur
    Inscrit en
    Mars 2009
    Messages
    274
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : IT Développeur

    Informations forums :
    Inscription : Mars 2009
    Messages : 274
    Points : 96
    Points
    96
    Par défaut


    Heu question stupide sans doute... mais comment fais-tu pour afficher la liste des évènements?

    J'ai été sur mon fichier FormCDTheque[design].cs, là je me mets sur ma ListView, je clique pour avoir le menu contextuel mais après je ne vois pas la possibilité d'afficher la liste des évènements.

  8. #8
    Membre régulier
    Profil pro
    IT Développeur
    Inscrit en
    Mars 2009
    Messages
    274
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : IT Développeur

    Informations forums :
    Inscription : Mars 2009
    Messages : 274
    Points : 96
    Points
    96
    Par défaut
    J'ai finalement trouvé. J'avais mal placé mes listViewPrincipal.SelectedItems.

    Je suis par contre intéressé par ta façon d'afficher la liste des évènements.

    Merci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    private void listView1_SelectedIndexChanged(object sender, EventArgs e)
            {
                // Test si un élément de la ListView a été sélectionné 
                // Si oui, on affiche l'index de la ligne sélectionnée
                if (listViewPrincipal.SelectedItems.Count > 0)
                {
                    labNomArtiste2.Text = " " +  listViewPrincipal.SelectedItems[0].Text;
                    labTitre2.Text      = " " + listViewPrincipal.SelectedItems[0].SubItems[1].Text;
                    labAnnee2.Text      = " " +  listViewPrincipal.SelectedItems[0].SubItems[2].Text;
                    labStyle2.Text      = " " +  listViewPrincipal.SelectedItems[0].SubItems[3].Text;
                }
            }

  9. #9
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    En haut de la grille des propriétés, tu as un bouton avec un petit éclair. Tu cliques dessus, ça affiche les évènements

  10. #10
    Membre régulier
    Profil pro
    IT Développeur
    Inscrit en
    Mars 2009
    Messages
    274
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : IT Développeur

    Informations forums :
    Inscription : Mars 2009
    Messages : 274
    Points : 96
    Points
    96
    Par défaut
    Ok j'ai trouvé.

    Encore merci pour ton aide !

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

Discussions similaires

  1. Réponses: 13
    Dernier message: 21/05/2012, 15h46
  2. Afficher des éléments HTML dans une WindowsForm
    Par flagadda dans le forum Windows Forms
    Réponses: 3
    Dernier message: 16/04/2007, 17h31
  3. Modifier élément sélectionné d'une liste
    Par DevloNewb' dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 30/03/2007, 15h35
  4. [VBA-E] Récupérer le nombre d'élément sélectionné d'une Listbox ?
    Par marsupilami34 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 30/01/2007, 17h31

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