listview imagelist显示图片,如何使得选中图片显示在picturebox中?

erlzj 2014-09-15 10:16:04
listView1.Items.Clear();
imageList1.Images.Clear();

DirectoryInfo TheFolder = new DirectoryInfo(textBox1.Text);//文件路径
List<string> ImgNames = new List<string>();
string allowImg = ".jpg.jpeg.png.bmp";
FileInfo[] Files = TheFolder.GetFiles();
//imageList1.ColorDepth = ColorDepth.Depth24Bit;
//imageList1.ImageSize = new Size(100, 100);
for (int i = 0; i < Files.Length; i++)//遍历文件夹
{
if (Files[i].Length > 0 && allowImg.IndexOf(Files[i].Extension.ToLower()) > -1)//或者jpg,png 文件大小要大于0且是图片文件
{
Image image = Image.FromFile(Files[i].DirectoryName + "\\" + Files[i].Name); //获取文件
ImgNames.Add(Files[i].Name);//添加文件名
imageList1.Images.Add(image);//添加图片
}
}
//初始化设置
this.listView1.View = View.LargeIcon;
this.listView1.LargeImageList = this.imageList1;
//开始绑定

this.listView1.BeginUpdate();

for (int i = 0; i < ImgNames.Count; i++)
{
// listView1.LargeImageList.Images.Add(list.Images.Keys[i], list.Images[i]);
ListViewItem lvi = new ListViewItem();
lvi.ImageIndex = i;
lvi.Text = ImgNames[i];
this.listView1.Items.Add(lvi);
}
this.listView1.EndUpdate();



现在使用 获取不到值。
private void listView1_SelectedIndexChanged(object sender, EventArgs e)
{
if (listView1.SelectedItems.Count == 1)
{
// pictureBox1.Image = Image.FromFile(listView1.SelectedItems[0].Name);
MessageBox.Show(listView1.SelectedItems[0].Name);
}
}


...全文
776 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
lxl030925 2014-09-16
  • 打赏
  • 举报
回复
MessageBox.Show(str); str 就是完整的文件目录
lxl030925 2014-09-16
  • 打赏
  • 举报
回复
private void button3_Click(object sender, EventArgs e) { Stream myStream; OpenFileDialog f = new OpenFileDialog(); f.RestoreDirectory = true; if (f.ShowDialog() == DialogResult.OK) { if ((myStream = f.OpenFile()) != null) { string str = f.FileName; MessageBox.Show(str); Bitmap bt = new Bitmap(str); this.pictureBox1.Image = bt; myStream.Close(); } } }
erlzj 2014-09-16
  • 打赏
  • 举报
回复
引用 1 楼 devmiao 的回复:
FromFile要完整地路径,而不能仅仅是文件名。
Image image = Image.FromFile(Files[i].DirectoryName + "\\" + Files[i].Name); 这里是完整的路径啊。
devmiao 2014-09-15
  • 打赏
  • 举报
回复
FromFile要完整地路径,而不能仅仅是文件名。

110,500

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧