powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Использование файла ресурсов
11 сообщений из 11, страница 1 из 1
Использование файла ресурсов
    #32941093
.DLL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет!
Скажите плиз, если в проект включен файл ресурс (resx) с иконками, как получить оттуда иконку, чтобы поставить ее например на кнопку? Что-то вроде ImageList, только для всего проекта.
...
Рейтинг: 0 / 0
Использование файла ресурсов
    #32942073
GreatValen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
.DLLВсем привет!
Скажите плиз, если в проект включен файл ресурс (resx) с иконками, как получить оттуда иконку, чтобы поставить ее например на кнопку? Что-то вроде ImageList, только для всего проекта.

Если в FW 2.0, например так: PictureBox1.Image=My.Resources.[Имя ресурса]
...
Рейтинг: 0 / 0
Использование файла ресурсов
    #32942858
.DLL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GreatValen Если в FW 2.0, например так: PictureBox1.Image=My.Resources.[Имя ресурса]
У меня FW 1.1 :( Не прокатывает.
...
Рейтинг: 0 / 0
Использование файла ресурсов
    #32943265
.DLL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ау, люди!
Неужели никто не работал с ресурсами?
...
Рейтинг: 0 / 0
Использование файла ресурсов
    #32943471
Фотография vladgrig
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Использование файла ресурсов
    #32943606
.DLL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vladgrig почитай - может быть поможет
Чей то не выходит
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Dim rsxr As ResXResourceReader
        rsxr = New ResXResourceReader("Resource1.resx")

     
        ' Iterate through the resources and display the contents to the console.
        Dim d As DictionaryEntry
        For Each d In rsxr
            MessageBox.Show(d.Value.GetType.ToString)
        Next d

        'Close the reader.
        rsxr.Close()
Здесь
Код: plaintext
For Each d In rsxr
выдает ошибку:
Код: plaintext
An unhandled exception of type 'System.IO.FileNotFoundException' occurred in mscorlib.dll
...
Рейтинг: 0 / 0
Использование файла ресурсов
    #32944182
Фотография vladgrig
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Значит надо писать претензию мелкомягким (пример то с их сайта). А, можно попробовать положить файл ресурсов в bin директорию. Вдруг пойдет???
...
Рейтинг: 0 / 0
Использование файла ресурсов
    #32945061
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
выдает ошибку:
An unhandled exception of type 'System.IO.FileNotFoundException' occurred in mscorlib.dll

и немудренно :-) ваш resx файл (XML формат) компилируется в бинарный resources.

Здесь есть варианты,
1) можно пойти по пути нашего FAQ т.е. добавлять иконку отдельно как embedded resource и не мучаться.... :-)

2) можно также частично пойти по пути FAQ (ваш случай), и использовать ResourceReader .

Например, пусть в проекте у нас есть Resource1.resx содержащий иконку: name = "myicon1" и для полноты примера текст: name = "mytext1"; value = "my text"

Задача: Присвоить иконку и текст соответствующим свойствам формы
Код выполняется в форме, т.е. Me - это экземпляр класса Form
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
Dim stream As Stream
Dim defaultNamespace As String = "MyAssemblyName" ' стандартное пространство имен
Dim fileName As String = "Resource1.resources" ' наш скомпилированный Resource1.resx
Try
   stream = Me.GetType().Assembly.GetManifestResourceStream(String.Format("{0}.{1}", defaultNamespace, fileName))
   Dim reader As ResourceReader
   Try
       reader = New ResourceReader(stream)
       Dim entry As DictionaryEntry
       For Each entry In reader
           If (entry.Key.ToString() = "myicon1") Then
               Me.Icon = entry.Value
           End If
           If (entry.Key.ToString() = "mytext1") Then
               Me.Text = entry.Value
           End If
       Next
   Finally
       Dim disp As IDisposable
       If TypeOf reader Is IDisposable Then
           disp = reader
           disp.Dispose()
       End If
   End Try
Finally
   Dim disp As IDisposable
   If TypeOf stream Is IDisposable Then
       disp = stream
       disp.Dispose()
   End If
End Try
'где defaultNamespace - стандартное пространство имен
'В VS.NET: Solution Explorer -> контекстное меню проекта -> Properties -> Common Properties -> General ->AssemblyName.

P.S. Не забываем
Код: plaintext
1.
2.
Imports System.IO
Imports System.Resources

P.S.S. Все стринги чувствительны к регистру, а то поймаете System.ArgumentNullException :-)

P.S.S.S. Возможно стоит добавить FAQ и этот случай...

Код: plaintext
 uid  =  S a
...
Рейтинг: 0 / 0
Использование файла ресурсов
    #32945515
.DLL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уря!!!
Спасибо большое!
...
Рейтинг: 0 / 0
Использование файла ресурсов
    #32945717
.DLL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А можно вопрос в догонку?
Почему когда я свойству Me.btExit.Image у кнопки присваиваю объект с типом Icon, получаю исключение:
Код: plaintext
Заданное приведение является недопустимым.
Ведь свойству Image можно ставит иконку?
...
Рейтинг: 0 / 0
Использование файла ресурсов
    #32972427
RUSYA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вы попробовали использовать не .resx, а .dll в нем проще.
New Project -> Class Library ->
c меню Project -> Add New Item... -> Icon File
редактируем или добавляем готовый с Solution Explorer
с Solution Explorer'а удаляем Сlass1.vb
Затем Build -> Build Class1

В итоге Class1.dll готов

В вашем проекте Project -> Add Referense... -> Browse... выбераем class1.dll
Dim smth as new class.icon1
Button1.Image=smth
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Использование файла ресурсов
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]