My questions is simple but I can't figure it out! I have a listview area which take different pictures. When the user selects a picture I want to get the filename and use this to put the picture onto a large picture box. Can anybody tell me how to do this The problem I am having is that I cannot convert the picture selected to a filename. I have tried:
private void listView1_SelectedIndexChanged(object sender, EventArgs e)
{
pictureBox1.Image = Image.FromFile(listView1.SelectedItems.ToString());
}
But I get the error:
System.IO.FileNotFoundException was unhandled
Message="System.Windows.Forms.ListView+SelectedListViewItemCollection"
Any help would be greatly apprieciated! Thanks
Depesh

filename from ListView
patridge
ListViewItem item1 = new ListViewItem();
foreach (FileInfo imagefile in newImages)
{
listBox2.Items.Add(Convert.ToString(imagefile.FullName));
imagename = imagefile.FullName;
ListViewItem item = new ListViewItem( imagefile.FullName );
item.Tag = imagefile.FullName;
listView1.Items.Add( item );
}
private void listView1_SelectedIndexChanged(object sender, EventArgs e)
{
if( listView1.SelectedItems.Count > 0 )
{
String imagePath = (String)listView1.SelectedItems[0].Tag;
Console.WriteLine( imagePath );
}
else
{
// No item was selected.
}
}
Srock
Hi, thanks a lot for the help
I have multiple images going into the Listview box so I did the following:
ListViewItem
item1 = new ListViewItem();foreach
(FileInfo imagefile in newImages){
listBox2.Items.Add(
Convert.ToString(imagefile.FullName));imagename = imagefile.FullName;
item1.Tag = imagename;
}
for
(int i = 0; i < imageList1.Images.Count; i++){
listView1.Items.Add(item1.Tag.ToString(),i);
}
private
void listView1_SelectedIndexChanged(object sender, EventArgs e){
string lvitem = (String)listView1.SelectedItems[0].Tag; Console.WriteLine(lvitem); //pictureBox1.Image = Image.FromFile(listView1.SelectedItems.ToString());}
But when trying to run it, it stalls and gives the error:
InvalidArgument=Value of '0' is not valid for 'index'.
Any ideas
Thanks again for your help
Ian Espiga
Adding an item
ListViewItem item = new ListViewItem( "Image1" );
item.Tag = @"c:\image1.jpg";
listView1.Items.Add( item );
Event code
private void listView1_SelectedIndexChanged( object sender, EventArgs e )
{
// Cast tag to string.
String filename = (String)listView1.SelectedItems[0].Tag;
pictureBox1.Image = Image.FromFile( filename );
}