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

C# Discussion :

Affichage d'images dans une listView


Sujet :

C#

  1. #1
    Nouveau membre du Club Avatar de kyria
    Femme Profil pro
    Ingénieur d'études et développement
    Inscrit en
    Juin 2010
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études et développement

    Informations forums :
    Inscription : Juin 2010
    Messages : 26
    Points : 30
    Points
    30
    Par défaut Affichage d'images dans une listView
    Bonjour,

    Ainsi que l'indique mon intitulé, j'ai des difficultés d'affichage d'images dans une listview.

    Je souhaiterais associer de manière dynamique des images à une ImageList afin de voir mes images à côté de mes items.Pour cela je procède comme suit :

    Images -> new ImageList -> LargeImageList/SmallImageList-> Ma listView

    Ma méthode est donc de créer un nouvel item avec une petite et une image large.

    voici le code associé, qui à priori est correct...Quand je débug, l'espace correspondant à l'image apparait mais pas l'image

    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
     
    // initialiser les ImagesLists avec les Bitmaps
    // pour les Large Icon
     
                    string[] iconsL = Directory.GetFiles(@"C:\","*.bmp");
                    foreach (string icoL in iconsL)
                    {
                      imageList1.Images.Add(Image.FromFile(icoL));
                    }
     
                    foreach (string keysL in imageList1.Images.Keys)
                    {
                        Image oImageL = imageList1.Images[keysL];
                    }
     
    //Pour les Small Icon
     
                    string[] iconsS = Directory.GetFiles(@"C:\","*.bmp");
                    foreach (string icoS in iconsS)
                    {
                        imageList2.Images.Add(Image.FromFile(icoS)); 
                    }
                    foreach (string keysS in imageList2.Images.Keys)
                    {
                        Image oImageS = imageList2.Images[keysS];
                    }
     
    //Assigner les ImagesLists au ListView
    listView1.LargeImageList = imageList1;
    listView1.SmallImageList = imageList2;
    en désespoir de cause j'ai tenté à partir d'un FromStream...
    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
     
    ImageList ListeLarge = new ImageList();
    ImageList ListePetite = new ImageList();
     
    FileStream PetiteStream = new FileStream(@"C:\Petite.bmp", FileMode.Open);
    FileStream LargeStream =  new FileStream(@"C:\Large.bmp", FileMode.Open);
     
     
    Image pti= Image.FromStream(PetiteStream);
    ListePetite.Images.Add(pti);
     
    Image larg = Image.FromStream(LargeStream);
    ListeLarge.Images.Add(larg); 
     
    listView1.LargeImageList = ListeLarge;
    listView1.SmallImageList = ListePetite;
     
    LargeStream.Close();
    PetiteStream.Close();
    J'ai même tenté la méthode msdn...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    ImageList ListeLarge = new ImageList();
    ImageList ListeSmall = new ImageList();
     
    ListeSmall.Images.Add(Bitmap.FromFile(@"C:\PetiteImage.bmp"));
    ListeLarge.Images.Add(Bitmap.FromFile(@"C:\GrandeImage.bmp"));
     
    listView1.LargeImageList = ListeLarge;
    listView1.SmallImageList = ListeSmall;
    Mais rien n'y fait...toujours pas d'images en vue

    Je vous remercie d'avance pour votre aide et votre compréhension car c'est mon premier post sur ce forum et j'espère avoir été aussi claire que possible(et surtout avoir posté au bon endroit)

  2. #2
    Membre averti Avatar de Jerede
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2010
    Messages
    271
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mai 2010
    Messages : 271
    Points : 422
    Points
    422
    Par défaut
    C'est bien beau d'assigner l'image list avec la listview, mais faut charger un item dans ta listview après ( avec l'index de l'image que tu souhaite utiliser )
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    ImageList monImageList= new ImageList();
    monImageList.Images.Add(Bitmap.FromFile(@"monimage.jpg"));
    maListView.LargeImageList = monImageList;
    maListView.Items.Add(new ListViewItem("MonTexte",MonIndexImage));

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

Discussions similaires

  1. image dans une listView
    Par zmatz dans le forum Windows Forms
    Réponses: 2
    Dernier message: 21/06/2007, 10h36
  2. Ajouter image dans une ListView
    Par Dimitri_87 dans le forum Windows Forms
    Réponses: 1
    Dernier message: 20/02/2007, 00h50
  3. Probleme d'affichage d'image dans une fenetre
    Par cgregueusse dans le forum MFC
    Réponses: 1
    Dernier message: 03/08/2005, 11h08
  4. Affichage d'images dans une fenêtre
    Par tonycalv dans le forum MFC
    Réponses: 6
    Dernier message: 20/04/2005, 20h02

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