C# imgPath-未处理FileNotFoundException

C# imgPath-未处理FileNotFoundException,c#,filenotfoundexception,C#,Filenotfoundexception,我有一个问题: 我需要从名为beelden的文件夹中取出一点gif 这是我使用的代码: this.afbeelding = Image.FromFile("beelden/" + imgPath); 我总是会遇到这样的错误: FileNotFoundException未经处理beelden/verdedger.gif 这是我的地图结构: beelden(包含我的图像(gifs) SpaceInvaders(包含所有项目数据和类) 太空入侵者(这是解决方案) 不管我怎么做,我还是会得到同样的

我有一个问题:

我需要从名为beelden的文件夹中取出一点
gif

这是我使用的代码:

this.afbeelding = Image.FromFile("beelden/" + imgPath);
我总是会遇到这样的错误:

FileNotFoundException未经处理beelden/verdedger.gif

这是我的地图结构:

  • beelden(包含我的图像(
    gifs
  • SpaceInvaders(包含所有项目数据和类)
  • 太空入侵者(这是解决方案)
不管我怎么做,我还是会得到同样的错误。这是一个学校项目,必须在今晚完成。已经和它纠缠了两天了:s。

这是我更改反斜杠时遇到的另一个错误。它一直在说“;”“预期。无论我添加多少次它

用于连接多个段

Image.FromFile(Path.Combine("beelden", imgPath);
在当前代码中,正斜杠可能会导致问题。您还可以尝试将路径保留在单独的字符串变量中,并查看得到的值。在windows资源管理器中尝试该路径以查看文件是否存在

编辑:(根据屏幕截图),您应该替换文件夹名称中的转发,因此您的语句应该是:

var path = System.IO.Path.Combine(Application.ExecutablePath, "beelden" + imgPath)
                                                            //^^^^^^^^^
                                                            //Remove forward slash

尝试使用绝对路径,而不是相对路径。您的文件夹“beelden”显然映射到另一个路径。 差不多

this.afbeelding = Image.FromFile(@"c:\temp\beelden\" + imgPath);
或者将
System.IO.Path.与
Application.ExecutablePath

var path = System.IO.Path.Combine(Application.ExecutablePath, @"beelden\" + imgPath)
this.afbeelding = Image.FromFile(path);

您使用的是正斜杠而不是反斜杠。我认为这必须是一些简单的东西,但我无法理解:(@user2416488,从文件夹
beelden/
中删除正斜杠,它应该是
beelden
@Habib我用了,我用了你的代码,仍然是同一个问题:太奇怪了!还有其他解决方案吗?不要对文件夹使用正斜杠(查看异常消息)如果我删除斜杠,它仍然不起作用。也许有人能看看我的文件吗?今晚学校要做的是:s。你必须用反斜杠替换它,而不是简单地删除它。看看我答案中的代码。如果我替换斜杠,我会得到另一个“错误”,上面写着“;”)'预期。如果我添加这些内容,我不会消失。请看图片中的我添加了如果我使用此代码,则该行的错误消失,但我收到另一个错误,因为我们删除了'this.afbeelding'。@user2416488,您要删除'this.afbeelding'吗“?您是否从代码中删除了它。是的,因为我尝试了您的代码:var path=System.IO.path.Combine(Application.ExecutablePath,“beelden”+imgPath)@user2416488,我不太确定发生了什么。请写这行:
this.afbeelding=Image.FromFile(System.IO.path.Combine(“beelden”,imgPath));
。不太清楚为什么要删除这个。afbeelding