从Windows窗体中的相对路径加载图像

时间:2011-06-28 19:07:25

标签: c# winforms image relative-path

我的应用程序中有一个图像,我的winforms中有一张图片

public static string Correct_Icons = @"C:\Users\xyz\Documents\Visual Studio 2008\Projects\FileShareMgmt\FileShareMgmt\Resources\Correct.png";
public static string warning_Icon = @"C:\Users\xyz\Documents\Visual Studio 2008\Projects\FileShareMgmt\FileShareMgmt\Resources\Warning.png";


cell.Value = Image.FromFile("Resources/warning_Icon);

但我只想要相对路径,而不是完整路径。

例如我想要这个

public static string Correct_Icons  = "\Resources\Correct.png";

和续 ... / 不工作

2 个答案:

答案 0 :(得分:16)

对于我的程序,Path.GetDirectoryName (Assembly.GetExecutingAssembly().Location)返回 C:\code\test\Junk\bin\Debug

cell.Value = Image.FromFile(
  Path.Combine (
     Path.GetDirectoryName (Assembly.GetExecutingAssembly().Location),
     "Resources/warning_Icon"));

当然,通常您会将资源嵌入到程序集中,除非您想在不重新编译的情况下更改它们。

答案 1 :(得分:0)

  

在此解决方案之后,我的问题得以解决:

string[] s = { "\\bin" };
string path = Application.StartupPath.Split(s, StringSplitOptions.None)[0] + "\\Images\\On24.png";