显示其目录中的图片的列表框

Posted

技术标签:

【中文标题】显示其目录中的图片的列表框【英文标题】:Listbox that shows Picture from its directory 【发布时间】:2013-10-13 19:59:44 【问题描述】:

我正在尝试创建一个在列表框中显示文件夹目录的程序。因此,C:\Pics 文件夹/目录中的每个文件都出现在列表框中,目前它可以正常工作。到目前为止,我还弄清楚了如何仅在文件夹 C:\Pics 中显示 .JPG 文件。现在我还想弄清楚如何使用列表框中的某种 OnClick 来查看这些图片,然后该图片将显示在表单上的图片框中。

任何帮助将不胜感激。

到目前为止,这是我的代码......

    private void Form1_Load(object sender, EventArgs e)
    
        try
        

            if (Directory.Exists(@"C:\Pics"))
            
                DirectoryInfo di = new DirectoryInfo(@"C:\Pics");


                FileInfo[] fi = di.GetFiles("*.JPG");
                foreach (FileInfo f in fi)
                


                    lstpic.Items.Add(f.Name);

                
            
            else
                MessageBox.Show("The Directory does not exist");
        
        catch (Exception ex)
        
            MessageBox.Show(ex.Message, "Error");
        
    

【问题讨论】:

【参考方案1】:

您可以将列表框单击事件添加到您的Form1 代码中。假设您使用图片框来显示图片:

private void lstpic_Click(object sender, EventArgs e)

    pictureBox1.ImageLocation = @"C:\Pics\" + (string)lstpic.SelectedItem;

您显然可以为所欲为,(string)lstpic.SelectedItem 将包含您存储在列表框中的文件的名称。

【讨论】:

当我点击列表框中的图片时,它在图片框中显示一个红叉,这是为什么? 提示找不到文件路径 是的,您需要一个路径,否则您正在从执行程序集的文件夹中读取。 查看我的编辑,但如果您在表单类上创建变量、常量或属性来存储路径会更好。 有没有我可以将图片设置为一定的高度和宽度?

以上是关于显示其目录中的图片的列表框的主要内容,如果未能解决你的问题,请参考以下文章

vb中图片框如何清除里面的所有内容?

如何捕获图片框中的图像并使其可以在c#应用程序中下载?

修改 MS Access 列表框中的项目列表

在列表框中显示文件夹,在另一个列表框中显示子文件夹

HTMLHTML 注册表单案例 ② ( 表格中的内容设置 | 下拉列表 | 输入文本框 | 复选框 | 文本域 | 图片按钮 | 链接 )

如何隐藏组合框下拉列表中的列?