2012-11-17 3 views
0

J'ai ce ListView et je veux charger des images à cela ListView. Et j'ai des chemins de fichiers dans lesquels les images sont stockées. Je veux faire une boucle pour chaque image contenue dans le chemin du fichier et les charger dans la liste. Et je ne sais pas comment le faire. Pouvez-vous m'aider s'il-vous-plaît? Ce qui suit est mon code inachevé. Je vous remercie.Comment charger des images dans listview

DataTable dtPath = new DataTable(); 
dtPath = ContrPtMRD.SelectFilePaths(); 

foreach (DataRow rows in dtPath.Rows) 
{ 
    lvPtMedicalRecord.???? 
} 
+0

J'utilise listview. – Trax

+0

Check this out: C'est le [msdn forum post] (http://social.msdn.microsoft.com/Forums/en-US/winforms/thread/876b6517-7306-44b0-88df-caebf3b1c10f) qui fournit l'aide Tu pourrais avoir besoin de. :) – bonCodigo

+0

@Mr_Green Comment faire pour que les images de la liste apparaissent plus grandes? J'essaie de changer 'lvPtMedicalRecord.LargeImageList = myImageList;' mais les images sont encore petites. – Trax

Répondre

3

Il vous semble stockez le Image locations dans le même DataTable. Il sera compréhensible si vous stockez ces emplacements d'image dans un ImageList pendant le traitement de la boucle foreach. Voici l'exemple de code:

lvPtMedicalRecord.LargeImageList = myImageList; //Attaching ImageList to the ListView 
int imageIndex = 0; 
foreach (DataRow rows in dtPath.Rows) 
{ 
    //Store the paths of the images in the same DataTable (I can think of this only) 
    myImageList.Images.Add(Image.FromFile(row[0].ToString()); 
    ListViewItem lvi = new ListViewItem(); 
    lvi.ImageIndex = imageIndex; //Index of the Image present in the `ImageList` 
    imageIndex++; 
    lvPtMedicalRecord.Items.Add(lvi); 
} 

Mise à jour:

Pour obtenir des images grand:

myImageList.ImageSize = new System.Drawing.Size(112, 112); // width, height 
Questions connexes