由于在此处声明了文件路径,因此出现错误:
private UIImageRes onClickImage = new UIImageRes(@"..\..\Resources\check_active.png",new Rectangle());
但是,当我声明实际路径时,它可以工作,即
private UIImageRes onClickImage = new UIImageRes(@"C:\Desktop\File\Resources\check_active.png",new Rectangle());
现在,此代码属于一个单独的项目,我将其添加到新项目中。我认为在其中放置确切的文件路径不是一个好主意。我将不得不在多个源代码中更改所有文件路径。另外,如果我将项目复制到另一个文件夹,则该项目将无法正常工作。我该怎么办?
编辑:
我对C#完全陌生,并且在C ++和Java方面具有一定的学术经验
解决方案1:
如果希望两个项目都使用固定路径,则可以使用INI文件存储路径。这将有助于以后更改路径而无需更改源代码。
解决方案2:
使用Application.StartupPath构建路径。
例如:
string sRelativePath = System.IO.Path.Combine(Application.StartupPath, @"Resources\check_active.png");
private UIImageRes onClickImage = new UIImageRes(sRelativePath,new Rectangle());
Application.StartupPath提供启动应用程序的可执行文件的路径,不包括可执行文件的名称。
更新:
假设Project1.exe
位于此处:
C:\Desktop\File\Project1.exe
Application.StartupPath返回:
C:\Desktop\File
使用此功能时:
string sRelativePath = System.IO.Path.Combine(Application.StartupPath, @"Resources\check_active.png");
输出将为sRelativePath
字符串:
C:\Desktop\File\Resources\check_active.png
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句