在列表视图和图像列表中显示文件名。显示所选项目的文件名
Show filename in listView and imagelist. Show filename of selected item
我已经设置了 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 或其他号召性用语中,我可以使用以下内容来利用文件名标签。
ListViewItem item = listView1.SelectedItems[0];
txtNewWM.Text = item.Tag.ToString();
我已经设置了 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 或其他号召性用语中,我可以使用以下内容来利用文件名标签。
ListViewItem item = listView1.SelectedItems[0];
txtNewWM.Text = item.Tag.ToString();