Listview capricieuse [Résolu]

Signaler
Messages postés
38
Date d'inscription
mardi 20 mai 2008
Statut
Membre
Dernière intervention
2 septembre 2017
-
Messages postés
38
Date d'inscription
mardi 20 mai 2008
Statut
Membre
Dernière intervention
2 septembre 2017
-
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

Messages postés
15416
Date d'inscription
mardi 11 mars 2003
Statut
Non membre
Dernière intervention
24 janvier 2021
503
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
Messages postés
38
Date d'inscription
mardi 20 mai 2008
Statut
Membre
Dernière intervention
2 septembre 2017
1
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 { }
        }
        }