В проекте Visual Basic я добавил файл ресурсов (resx), содержащий кучу изображений.Как получить имена всех ресурсов в файле ресурсов
Теперь я хочу запросить имена изображений. Если я открываю файл resx в представлении конструктора в среде Visual Studio IDE и выбираю изображение, то сетка свойств показывает мне свойство имени (по умолчанию «имя файла без расширения, но может быть изменено»).
Фон состоит в том, что У меня есть imagelist, который создается во время выполнения и заполняется изображениями из файла ресурсов. Чтобы иметь доступ к этим изображениям с помощью ключа, я должен его установить.
Мой код выглядит так (все жестко закодировано) :
Dim imagelist as new Imagelist
imageList.Images.Add("A", My.Resources.MyImages.A)
imageList.Images.Add("B", My.Resources.MyImages.B)
imageList.Images.Add("C", My.Resources.MyImages.C)
imageList.Images.Add("D", My.Resources.MyImages.D)
imageList.Images.Add("E", My.Resources.MyImages.E)
....
imageList.Images.Add("XYZ", My.Resources.MyImages.XYZ)
И я хочу для того чтобы достигнуть этого:
Dim imagelist as new ImageList
For Each img in GetMeAllImagesWithNameFromMyResourceFile
imageList.Images.Add(img.Name, img.ImageFile)
Next
где Имя является строкой и ImageFile System.Drawing.Bitmap
Отлично работает, именно то, что я хотел. Всего 2 небольших изменения: во-первых: второй параметр GetResourceSet должен быть истинным (чтобы получить ссылку, даже если Resouce еще не загружен). Второе: Icon.GetType() не будет работать, потому что вы его не задали, вместо этого он должен быть GetType (Icon). Возможно, вы можете отредактировать свой пост, чтобы исправить это. –
Если я правильно помню, этот фрагмент кода работает с Icon.GetType(). Я поменяю его на GetType (значок) согласно вашему предложению. – shahkalpesh
Он будет работать в Windows Form, потому что у вас есть свойство Form1.Icon, которое возвращает фактическую иконку формы. Но GetType (Icon) - это чистое решение. –