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 :

Ajouter image dans une ListView


Sujet :

Windows Forms

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2006
    Messages : 103
    Points : 48
    Points
    48
    Par défaut Ajouter image dans une ListView
    Bonjour,

    J'ai un petit soucis pour ajouter des miniatures dans une ListView, ou plutôt ajouter des miniatures après avoir supprimer une image de cette même ListView.
    Voici ce qui se passe :

    Ici, j'ai ouvert 4 images, RAS


    Ici, j'ai supprimé une image, RAS


    Maintenant, j'ai ajouté plusieurs autres images, et il y a un léger problème


    Les quelques lignes de code qui gére la ListView :
    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
     
    imgListThbNails; //Imagelist qui contient les miniatures
    lsThumbNails; //Listview pour afficher les miniatures
     
    private void bwThbNails_DoWork(object sender, DoWorkEventArgs e)
            {
    //Au début indexlist est à 0
                for (; indexlist < photo.Count; indexlist++) //Je part de la valeur courante de indexlist et je charge les nouveau fichier
                {
                    Image.GetThumbnailImageAbort myCallback = new Image.GetThumbnailImageAbort(ThumbnailCallback);
                    imgListThbNails.Images.Add(photo[indexlist].Image.GetThumbnailImage(100, 100, myCallback, IntPtr.Zero));
                    lsThumbNails.Items.Add(Path.GetFileNameWithoutExtension(photo[indexlist].Filename), indexlist);
                    lsThumbNails.Items[indexlist].ImageIndex = indexlist;
                }
            }
     
            private void lsThumbNails_Click(object sender, EventArgs e)
            {
                for (int i = 0; i < photo.Count; i++)  //Je recherche l'element sélectionné
                {
                    if (lsThumbNails.Items[i].Selected == true)  //Celui ci est sélectionné
                    {
                        pBox.Image = photo[index = i].Image;  //Je l'affiche dans la PBox
     
                        i = photo.Count;  //Pour sortir de la boucle
                    }
                }
            }
     
            private void tsmDelIcon_Click(object sender, EventArgs e)
            {
                for (int i = 0; i < photo.Count; i++)  //Je recherche l'élément sélectionner dans la listview
                {
                    if (lsThumbNails.Items[i].Selected == true)  //Si il est selectionné
                    {
                        lsThumbNails.Items.RemoveAt(i);  //je le supprime de la listview
                        imgListThbNails.Images.RemoveByKey(photo[i].Filename);  //je le supprime de l'imagelist
                        bDelete_Click(sender, e);  //Je la supprime de l'ecran
                    }
                }
     
                indexlist = photo.Count;  //Je place l'index de la listview égale à celui du nombre de fichier contenu dans ma liste photo
            }
    Les aperçus dans la ListView, sont tous décalés à partir de la troisième image, pourtant lorsque je clique dessus c'est la bonne image qui s'affiche en grand.
    Le Backgroundworker est appelé lorsque j'ouvre des nouvelles images.
    J'ai cherché dans tout le code qui gére ces actions mais je ne trouve rien.
    Si quelqu'un pouvait m'aider ??

    Merci

    Bonne soirée

  2. #2
    Membre expérimenté Avatar de Mose
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 143
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 143
    Points : 1 379
    Points
    1 379
    Par défaut
    Met des commentaires dans ton code STP.
    Au moins pour les boucles.

    Déjà que tu publies même pas les déclarations des variables et qu'on est obligé de deviner tout seuls...

Discussions similaires

  1. Chargement des images dans une ListView
    Par loudo dans le forum Composants graphiques
    Réponses: 0
    Dernier message: 09/05/2010, 22h03
  2. Afficher des images dans une listView de manière asynchrone
    Par badaboo dans le forum Composants graphiques
    Réponses: 0
    Dernier message: 23/02/2010, 09h47
  3. afficher une image dans une listview
    Par z-lordofhardstyle dans le forum VB.NET
    Réponses: 0
    Dernier message: 22/05/2009, 20h54
  4. image dans une listView
    Par zmatz dans le forum Windows Forms
    Réponses: 2
    Dernier message: 21/06/2007, 10h36
  5. ajout dynamique dans une listview
    Par k_boy dans le forum VC++ .NET
    Réponses: 3
    Dernier message: 21/09/2006, 11h23

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