c# - 找不到文件异常发生

标签 c# winforms filenotfoundexception imagelist

我的项目中有一个图像列表。所以我需要从窗口后面的代码在图像列表中添加图像。

我的项目中有一个名为 Myimages 的文件夹。在该文件夹中,我有一些图像。

所以我这样尝试:

imageList1.Images.Add(Image.FromFile(@"Myimages\dog.ico"));

imageList1.Images.Add(Image.FromFile(@"~\Myimages\cat.ico"));

 imageList1.Images.Add(Image.FromFile(@"/Myimages/horse.ico"));

但我不能这样做。它会产生 FileNotFoundException

错误:

An unhandled exception of type 'System.IO.FileNotFoundException' occurred in System.Drawing.dll

Additional information: /Myimages/horse.ico

如何解决这个错误。帮助赞赏!!

当我使用像 C:\MyProject\Myimages\horse.ico 这样的完整路径时。它为我工作。 但是当我给出像“Myimages\horse.ico”这样的路径时,它给出了异常。

最佳答案

When i used full path like C:\MyProject\Myimages\horse.ico. Its working for me. But when i give path like Myimages\horse.ico it gives exception.

因为相对路径是从*.EXE文件的位置开始搜索。这是在 C:\MyProject\bin\DebugC:\MyProject\bin\Release 文件夹中。在进入 Myimages 之前,您需要向上移动 2 个文件夹。试试这个相对路径:

..\..\Myimages\horse.ico

编辑:

如果您的解决方案文件夹与您的项目文件夹同名,那么您比我想象的更深一层。请尝试在这种情况下多一级

..\..\..\Myimages\horse.ico

免责声明:一旦您将 *.EXE 移动到 MyImages 文件夹,这种方法就会给您带来麻烦。比如放到同一个文件夹,那么这个路径就错了。

编辑 2:请您使用以下格式:

imageList1.Images.Add(Image.FromFile(@"..\..\..\Myimages\horse.ico"));

关于c# - 找不到文件异常发生,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45231706/

相关文章:

python - 我正在尝试使用 os.mkdir 创建目录

c# - 附加到工厂实例化的单例事件 - 什么是干净的方法?

c# - 过滤 DataGridView

c# - 模糊半透明形式的背景(如 Aero 玻璃)

c# - Windows 窗体标签大小调整问题

c# - 无法加载文件或程序集 'PcapDotNet.Core.dll'

c# - 如何释放多个进程之间共享的套接字描述符?

c# - Visual Studio 2015 Intellitest 不适用于 64 位项目

c# - 图表中的系列颜色在哪个时间点初始化

java - 文件未找到异常 --- 将文件引用传递给 RMI 客户端时出现问题