Partage
  • Partager sur Facebook
  • Partager sur Twitter

[C#] Problème de ListView

Méga zéro

    23 janvier 2007 à 18:09:28

    Bonjour à tous,

    Dans mon applic j'ai une ListView qui liste (ben tien) des document .bmp, lorsqu'on en sélectionne un et qu'on clique sur le bouton 'OK' j'aimerais récupérer le path du document (pour l'afficher mais une chose à la fois...).
    Comment faire??

    Thanatoster

    EDIT : J'ai un "FileInfo[] files;" dont chaque case contient le nom des fichier listé, il faudrait donc (si je me trompe pas), que je trouve le numéro de la ligne dans la ListView afin d'aller rechercher dans files.
    • Partager sur Facebook
    • Partager sur Twitter
      23 janvier 2007 à 18:34:26

      Poste un bout de code que je vois exactement ce que tu cherche à faire et surtout comment tu acquière les noms de fichier bmp dans ton ListView
      • Partager sur Facebook
      • Partager sur Twitter
        23 janvier 2007 à 18:52:18

        J'ai tout d'abord cette fonction :
                FileInfo[] files;
                ListViewItem item;
                private void loaderDansListView(string chemin)
                {
                    DirectoryInfo dirInfo = new DirectoryInfo(chemin);

                    files = dirInfo.GetFiles("*.bmp");
                    if (files != null)
                    {
                        //Pour chaque fichier trouvé, on récupére ces infos
                        foreach (FileInfo file in files)
                        {
                            item = new ListViewItem(file.Name); //Nom du fichier
                            Liste.Items.Add(item); //Ajout à la liste
                        }
                    }
                }


        Il y a un bouton permettant de charger l'objet sélectionné dans la liste (s'il y en a un) dans une PictureBox :
                private void BoutonCharger_Click(object sender, EventArgs e)
                {
                }


        Dans cette fonction je dois donc récupérer le path de l'élément (l'image quoi) afin de le charger dans la PictureBox, mon problème c'est que j'arrive pas à récupérer ce path.

        Merci bien
        • Partager sur Facebook
        • Partager sur Twitter
          23 janvier 2007 à 20:12:17

          Déjà faudrait surement centraliser ton DirectoryInfo ou alors le path sous forme de string histoire de pouvoir l'utiliser autre part comme c'est le cas ici.

          La solution c'est soit de recréer un FileInfo en partant dans la direction inverse :
          private void BoutonCharger_Click(object sender, EventArgs e)
          {
             SelectedListViewItemCollection collec;

             if ((collec = listView.SelectedItems).Count > 0)
                pictureBox.ImageLocation = Path.Combine(directoryPath, collec[0].Text);
          }


          ou de trouver l'index de la sélection et d'en tirer le FileInfo correspondant :

          private void BoutonCharger_Click(object sender, EventArgs e)
          {
             SelectedListViewItemCollection collec;

             if ((collec = listView.SelectedItems).Count > 0)
                pictureBox.ImageLocation = Path.Combine(files[collec[0].Index].DirectoryName, files[collec[0].Index].Name);
          }


          J'ai fait ça rapido donc y'a surement des bugs mais c'est l'idée ;)
          • Partager sur Facebook
          • Partager sur Twitter
            24 janvier 2007 à 11:21:47

            Salut, je viens de tester ce que tu m'as dit mais il ne connait pas SelectedListViewItemCollection... Dois-je inclure quelque chose supplémentaire?

            Merci de ton aide en tout cas

            EDIT : Par contre ListView.SelectedListViewItemCollection passe mais il reffuse
            files[collec[0].Index].DirectoryName

            Erreur : 'Utilisation d'une variable locale non assignée 'collec'

            Si je comprend bien il rale parce qu'il n'y a rien dans collec...

            EDIT 2 : Pardon, boulet que je suis j'ai oublié la ligne "collec = listView.SelectedItems" car j'avais déja le test devérification qu'un élément était bien sélectionné. Mon problème (celui-la) est donc résolu... Youpieee, un tout grand merci Garuma.
            • Partager sur Facebook
            • Partager sur Twitter

            [C#] Problème de ListView

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown