В данный момент занимаюсь разработкой под winforms, пишу кастомный контрол. Возник вопрос, где хранить картинки, которые этот контрол использует. Я решил, что буду их хранить в файле ресурсов (.resx) не всего приложения, а только моего контрола.
Вопрос, как вы вытаскиваете картинки из ресурсов контрола/формы? Если хранить картинки в файле ресурсов проекта, то тут нет вопросов:
System.Drawing.Image myImg = Properties.Resources.ImageName;
or
System.Drawing.Image myImg = global::ProjectName.Properties.Resources.ImageName;
Однако, если я использую файл ресурсов контрола/формы, то приходится делать так:
using System.ComponentModel;
//init
ComponentResourceManager resources = new ComponentResourceManager(typeof(MyControlName));
//get image
System.Drawing.Image myImg = resources.GetObject("MyImageName");
Проблема заключается в том, что приходится ручками прописывать название файла картинки. Возможно ли работать с файлом ресурсов контрола/формы, так же, как с файлом ресурсов проекта, то есть без строк?
Мое временное решение заключается в том, что я создал статическое ридонли поле, которое хранит название файла картинки:
private readonly static string myImgName = "myImg_16x16";
соответственно, затем могу использовать так:
System.Drawing.Image myImg = resources.GetObject(myImgName);