我已经设置了imageList和listView。理想情况下,我希望文件名显示在图像下方。
使用下面提到的item.Tag更新,我可以移动一些东西。我现在有了跟踪选择哪个文件的文件名。现在,我只需要查看是否可以将文件名显示在列表视图中即可。
这是新的代码:
private void GetImages()
{
DirectoryInfo dir = new DirectoryInfo(@"c:\pics");
this.listView1.View = View.LargeIcon;
this.imageList1.ImageSize = new Size(67, 100);
this.listView1.LargeImageList = this.imageList1;
int j = 0;
foreach (FileInfo file in dir.GetFiles())
{
try
{
imageList1.Images.Add(file.Name, Image.FromFile(file.FullName));
ListViewItem item = new ListViewItem(file.Name);
item.Tag = file.Name;
item.ImageIndex = j;
this.listView1.Items.Add(item);
j++;
}
catch
{
Console.WriteLine("This is not an image file");
}
}
}
private void listView1_Click(object sender, EventArgs e)
{
ListViewItem item = listView1.SelectedItems[0];
label1.Text = item.Tag.ToString();
int itemIndex = listView1.SelectedIndices[0];
Image img = imageList1.Images[itemIndex];
pictureBox1.Image = img;
}
好的,我想我已经简化了其他一些答案。通过这种方式,我可以获取文件名以显示在图像下。在选择了图像时,我能治理它。
我正在使用item.tag来保存文件名。
private void GetImages()
{
DirectoryInfo dir = new DirectoryInfo(@"c:\pics");
this.listView1.View = View.LargeIcon;
this.imageList1.ImageSize = new Size(100, 100);
this.listView1.LargeImageList = this.imageList1;
int j = 0;
foreach (FileInfo file in dir.GetFiles())
{
try
{
//this.imageList1.Images.Add(Image.FromFile(file.FullName));
imageList1.Images.Add(file.Name, Image.FromFile(file.FullName));
ListViewItem item = new ListViewItem(file.Name);
item.Tag = file.Name;
item.ImageIndex = j;
this.listView1.Items.Add(item);
j++;
}
catch
{
Console.WriteLine("This is not an image file");
}
}
}
现在,在listview1_Click或其他一些号召性用语中,我可以使用以下代码来利用filename标记。
ListViewItem item = listView1.SelectedItems[0];
txtNewWM.Text = item.Tag.ToString();
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句