我有文件夹“图标”。 我需要访问相同才能向imageList
添加图标。 我正在使用具有相对路径的app.config文件。
<add key="doc" value="..\Icons\_Microsoft Office Excel 97-2003 Worksheet.ico" />
我正在使用下面的代码将其添加到imgList
,但它会抛出System.IO.FileNotFoundException
:
smallImageList.Images.Add(Image.FromFile(ConfigurationSettings.AppSettings["doc"]));
这有什么问题?
尝试添加当前运行路径:
smallImageList.Images.Add(Image.FromFile(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, ConfigurationSettings.AppSettings["doc"])));
您可能需要将其与System.AppDomain.CurrentDomain.BaseDirectory连接。
我猜想FromFile是相对于当前工作目录很容易改变的。 另一件需要考虑的事情是将图像嵌入到程序集中
转到属性,找到“复制到输出目录”属性,然后选择“始终复制”。 那应该没问题。 希望它会有所帮助。
尝试使用蒂尔达...
value="~\Icons_Microsoft Office Excel 97-2003 Worksheet.ico"
哪个应该从应用程序根目录开始。
在程序执行期间,您的工作文件夹已被修改,您必须找到自己的路径。
尝试这个:
using System.Reflection;
string CurrDirectory = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
smallImageList.Images.Add(Image.FromFile(Path.Combine(CurrDirectory,ConfigurationSettings.AppSettings["doc"])));