我的项目中有一个图像列表。所以我需要从窗口后面的代码在图像列表中添加图像。
我的项目中有一个名为 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 likeMyimages\horse.ico
it gives exception.
因为相对路径是从*.EXE文件的位置开始搜索。这是在 C:\MyProject\bin\Debug
或 C:\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/