【发布时间】:2017-07-21 17:05:45
【问题描述】:
我的项目中有一个图像列表。所以我需要从窗口后面的代码中在图像列表中添加图像。
我的项目中有一个名为 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。
错误:
“System.IO.FileNotFoundException”类型的未处理异常 发生在 System.Drawing.dll 中
附加信息:/Myimages/horse.ico
如何解决这个错误。帮助赞赏!
当我使用像 C:\MyProject\Myimages\horse.ico 这样的完整路径时。它为我工作。
但是当我给出像“Myimages\horse.ico”这样的路径时,它给出了异常。
【问题讨论】:
-
它是一个什么样的应用程序?网络还是 Windows?对于windows应用程序,应用程序从bin文件夹运行,因此如果不正确,它将无法根据相关文件找到文件。
-
您是否将图像构建操作设置为内容并始终复制?之后你能在Debug文件夹中找到它吗?
-
当前路径是解决方案中的
Debug或Release文件夹。取决于您的定位配置 -
“将图像构建动作作为内容并始终复制”是什么意思?对不起,我无法为您提供信息@user3185569
-
至少在开始时,最简单可靠的解决方案是使用配置文件作为基础配置。 IE。 app.config 文件。在
下添加一个名为“imagePath”的设置,其值设置为绝对(或相对)路径,然后在您的代码中使用 ConfigurationManager.AppSettings["imagePath"] 代替硬编码路径。这样,您无需重新构建应用即可轻松更改此值。
标签: c# winforms filenotfoundexception imagelist