Загрузка изображения из относительного пути в Windows Forms - PullRequest
4 голосов
/ 28 июня 2011

У меня есть изображение в моем приложении, и у меня есть изображение в моих 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 ]

17 голосов
/ 28 июня 2011

Для моей программы 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"));

Конечно, обычно вы встраиваете ресурсы в свою сборку, если не хотите изменять их без перекомпиляции.

0 голосов
/ 28 августа 2017

Моя проблема была решена после этого решения:

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