问题
I have an image in my application and i have a picture in my 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);
but i want just want the relative path and not the full path.
eg i want this
public static string Correct_Icons = \"\\Resources\\Correct.png\";
and cont. ..../ not working
回答1:
For my program, Path.GetDirectoryName (Assembly.GetExecutingAssembly().Location)
returns
C:\code\test\Junk\bin\Debug
.
cell.Value = Image.FromFile(
Path.Combine (
Path.GetDirectoryName (Assembly.GetExecutingAssembly().Location),
"Resources/warning_Icon"));
Of course, usually you would embed the resources in your assembly unless you want to change them without a recompile.
回答2:
My issue was solved after this solution:
string[] s = { "\\bin" }; string path = Application.StartupPath.Split(s, StringSplitOptions.None)[0] + "\\Images\\On24.png";
来源:https://stackoverflow.com/questions/6511816/loading-image-from-relative-path-in-windows-forms