2011-06-28 51 views
3

我在我的應用程序有一個形象,我有一張照片在我的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

檢查此鏈接一次http://stackoverflow.com/questions/5608684/how-to-use-relative-path-to-resources-folder-in-c-window-form-application – Rahul

+0

我同意喬恩。你應該嵌入圖像,尤其是圖標。不這樣做的唯一原因是如果你想動態修改圖像。 – Icemanind

回答

15

對於我的程序,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

先生,你只有一個「。 – radbyx

0

我的問題是這樣的解決方案後問題:

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