0

我正在使用 Winforms 创建一个 2D 地图编辑器。

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

我目前这样做的代码就是这样。

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

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

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

我已经在高处和低处搜索了一个解决方案,但找不到这个错误的答案,任何帮助将不胜感激。

4

1 回答 1

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);
}
于 2013-10-26T15:51:55.877 回答