Обидно!!! В Который раз отвечаю сам себе! А вообще многие найдя ответ на свой вопрос - залупились, надули щеки и молча улыбаются, не то, чтобы поделиться с другими (а вот кому и пригодится). Ладно... Вот что я нашел (есть исходник проэкта - Автор: Егоров Никита (aka C...R...a...S...H - e-mail: crash.smolensk@mail.ru).
Может кто еще поделится соображениями по поводу работы с файлом ресурсов в VB.NET???
Процедура получения ресурса, который прикреплен к проекту. Для этого ресурса в поле свойства "Build Action" необходимо выбрать "Embedded Resource".
Dim res As IO.Stream 'Объявление потока данных
'Загрузка ресурса в поток данных
res = Reflection. Assembly.GetExecutingAssembly().GetManifestResourceStream("useResources.Computer.ico"
'Изменение иконки главной формы
Me.Icon = New Icon(res)
'Закрытие потока данных
res.Close()
'Загрузка картинки прикрепленной к проекту
res = Reflection. Assembly.GetExecutingAssembly().GetManifestResourceStream("useResources.Штукатурка.bmp"
picIcon.Image = Image.FromStream(res)
res.Close()
Процедура получения ресурсов, которые находятся в файле resTest.resx прикрепленном к проекту. Для этого файла в поле свойства "Build Action" необходимо выбрать "Embedded Resource".
Dim rm As New Resources.ResourceSet((Reflection. Assembly.GetExecutingAssembly().GetManifestResourceStream("useResources.resTest.resources" ))
'Получение строки с именем "q1"
MsgBox(rm.GetString("q1" )
'Освобождение ресурсов
rm.Close()
rm.Dispose()
Процедура получения ресурсов, которые находятся в файле ресурсов данной формы. Этот файл можно посмотреть, выбрав в меню пункт Project/Show All Files.
Dim rm As New Resources.ResourceManager( GetType(Form1))
'Получение строки с именем "$this.Name"
'Изменение ресурсов формы не сохраняются, если вы производите какие-либо манипуляции с ней
MsgBox(rm.GetString("$this. Name" )
Процедура получения ресурсов, которые находятся в файле resTest2.resources этот файл должен быть расположен в том же каталоге что и исполняемый файл. Конвертация файлов из ResX в Resources производится утилитой ResGen.exe.
Dim rm As New Resources.ResourceSet("resTest2.resources"
MsgBox(rm.GetString("101" )
rm.Close()
rm.Dispose()
Процедура получения ресурсов, которые находятся в файле resXTest.resx этот файл должен быть расположен в том же каталоге что и исполняемый файл.
Dim rm As New Resources.ResXResourceSet("resXTest.resx"
MsgBox(rm.GetString("101" )
rm.Close()
rm.Dispose()
Процедура загрузки ресурсов из ресурсов прикрепленного к проекту. Имя файла обязательно должно быть таким "ProjectResources.resx"
Что бы использовать эту функцию необходимо подключить сборку Microsoft.VisualBasic.Compatibility
Название строки должно начинаться с "str" потом следовать номер ресурса. Например, в моем проекте называется str101
Для загрузки ресурса используют только номер.
MsgBox(Microsoft.VisualBasic.Compatibility.VB6.LoadResString(101))
Ответить
|