Listview capricieuse

Résolu
mecyber25 Messages postés 38 Date d'inscription mardi 20 mai 2008 Statut Membre Dernière intervention 2 septembre 2017 - 4 juin 2012 à 16:11
mecyber25 Messages postés 38 Date d'inscription mardi 20 mai 2008 Statut Membre Dernière intervention 2 septembre 2017 - 6 juin 2012 à 10:21
Bonjour
J'ai une listview associée à une imagelist pour explorer des repertoires
Un menu me permet de choisir des modes d'affichages.

-lorsque j'affiche en listView1.View = View.Details;
je lis les fichiers d'un repertoire avec leurs caractéristiques (subitems)
-ensuite je change en listView1.View = View.LargeIcon;
je vois les photos demandées du même réperoire
-Puis je reviens sur le même répertoire à nouveau en détails, il n'affiche plus rien...Parfois le comportement est ahurissant, un nom seul apparait, des lignes de grille trés espacées...etc
Je voudrais savoir si VisualStudio 2010 a des bugs; mon anti-virus ne detecte rien; peut-être j'ignore une subtilité du logiciel
Si necessaire je publierai le code (assez long)...

2 réponses

Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 656
4 juin 2012 à 19:09
Bonsoir,

je n'ai jamais utilisé de ListView, mais quand j'ai des soucis d'affichage avec des contrôles conteneurs j'essaye l'une ou l'autre de ces 2 lignes (voire les 2!)

            listView1.Clear();// pour effacer l'ancien contenu avant d'afficher le nouveau



            listView1.Refresh();//pour forcer le rafraichissement 



Whismeril
3
mecyber25 Messages postés 38 Date d'inscription mardi 20 mai 2008 Statut Membre Dernière intervention 2 septembre 2017 1
6 juin 2012 à 10:21
Quand je clique dans un menu , la procedure suivante s'execute, puis je reclique au même endroit pour le même répertoire et cela ne marche plus

FolderBrowserDialog repdialog = new FolderBrowserDialog();
        string ext = "*.*";

        private void detailsToolStripMenuItem_Click(object sender, EventArgs e)
        {
            try
            {
                listView1.GridLines = true;
                if (imageList1 == null)
                {
                    imageList1 = new ImageList();
                }
                imageList1.Images.Clear();
                listView1.Clear();
                repdialog.RootFolder = Environment.SpecialFolder.MyPictures;
                repdialog.ShowDialog();
                DirectoryInfo dir = new DirectoryInfo(repdialog.SelectedPath);
                label1.Text = repdialog.SelectedPath;
                arbre(repdialog.SelectedPath);
                listView1.View = View.Details;
                listView1.Columns.Clear();
                listView1.Columns.Add("Nom ");
                listView1.Columns[0].Width = 300;
                listView1.Columns.Add("Taille");
                listView1.Columns[1].Width = 100;
                listView1.Columns.Add("Date de création ");
                listView1.Columns[2].Width = 150;
                listView1.Columns.Add("Chemin ");
                listView1.Columns[3].Width = 400;
                arbre(repdialog.SelectedPath);
                trouve(repdialog.SelectedPath);
                label3.Text = "Détails des " + listView1.Items.Count.ToString() + " fichiers : ";
         }
            catch { }
        }
        }
0
Rejoignez-nous