J'ai un Listview et je charge des images miniatures. Je voudrais sélectionner l'image miniature pour afficher l'image réelle dans le contrôle utilisateur. Lorsque je sélectionne la première image, elle ne s'affiche pas dans le contrôle de l'utilisateur. Mais lorsque je sélectionne la troisième image, cela fonctionne bien. Quel est le problème avec le code suivant ?
string pname;
Image myImage;
for (i = 0; i <= files.Length ; i++)
{
pname = System.IO.Path.GetFullPath(files[i]);
myImage = Image.FromFile(pname);
ImgListView.Images.Add(getThumbnaiImage(ImgListView.ImageSize.Width, myImage));
myImage = null;
}
for (i = 0; i <= files.Length ; i++)
{
fname = System.IO.Path.GetFileName(files[i]);
ListViewItem lvwItem = new ListViewItem(fname, i);
lvwItem.Tag = files[i];
lstThumbNailView.Items.AddRange(new ListViewItem[] { lvwItem });
lvwItem = null;
}
private void listView_SelectedIndexChanged(Object sender, EventArgs e)
{
ListView.SelectedListViewItemCollection selectedItems = lstThumbNailView.SelectedItems;
ListViewItem lvi = lstThumbNailView.SelectedItems[0];
string s = (string)lvi .Tag;
this.viewer1.Image = Image.FromFile(s);
}