不要在C#中使用本地路径映像

时间:2017-12-28 20:36:34

标签: c# path

我正在使用以下代码在程序中加载图像:

Image img = new Bitmap(@"C:\Users\******\Desktop\*****\bin\Debug\image.png");

我想保持位置静态,所以当我在另一台PC上运行程序时,我不必手动编辑路径。

我正在试验apps.config文件,因为我听说这是我的解决方案所在。

对此有任何帮助将不胜感激!

3 个答案:

答案 0 :(得分:2)

更好的解决方案是将其作为程序集的一部分嵌入resx文件中。这样你就不必担心文件的位置不同了。

答案 1 :(得分:2)

为什么不使用Environment.SpecialFolder? 显然,这不是静态的,但您不必编辑任何内容。如果它们尚不存在,您实际上只需在桌面上创建文件夹。

string path = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);

或者使用System.Environment.CurrentDirectory,因为它看起来就像你正在放置它...

Image img = new Bitmap(Environment.CurrentDirectory + @"\image.png");

答案 2 :(得分:0)

静态属性

AppDomain.CurrentDomain.BaseDirectory

指向应用程序启动的路径,即使当前目录指向其他位置。您可以使用它来查找与可执行文件位于同一目录中的文件。但是,对于小图像(即GUI组件),将它们作为资源嵌入是可行的方法。