使用pictureBox在listBox中预览图像

时间:2013-10-26 15:49:28

标签: c# winforms casting

我使用Winforms创建2D地图编辑器。

我希望能够使用pictureBox预览存储在listBox中的资产图像。

我目前的代码就是这样。

    private void listBox_Assets_SelectedIndexChanged(object sender, EventArgs e)
    {
        pictureBox1.Image = Image.FromFile(((FileInfo)listBox_Assets.SelectedItem).FullName);
    }

但是当我选择一个资产时,我得到了这个错误。

无法将类型为“System.String”的对象强制转换为“System.IO.FileInfo”。

我已经搜索了高低的解决方案,但无法找到此错误的答案,我们将非常感谢任何帮助。

1 个答案:

答案 0 :(得分:2)

您可以像这样使用列表框中的文件名,并通过检查文件来保护代码。

private void listBox_Assets_SelectedIndexChanged(object sender, EventArgs e)
{
    string file = IO.Path.Combine("the directory", listBox_Assets.SelectedItem);
    if (IO.File.Exists(file)) 
      pictureBox1.Image = Image.FromFile(file);
}