我使用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”。
我已经搜索了高低的解决方案,但无法找到此错误的答案,我们将非常感谢任何帮助。
答案 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);
}