как достать иконку из ресурса программы?
От: Аноним  
Дата: 10.01.05 16:06
Оценка:
Засунул в ресурс формы иконку и пытаюсь ее получить таким образом:

using System.Resources;
using System.Reflection;

...

notifyIcon1.Icon = new Icon(Assembly.GetExecutingAssembly().GetManifestResourceStream("notifyIcon1.Icon"));

....


пишет "'null' is not a valid value for 'stream'."

Как быть? Помогите пожалуста
Re: как достать иконку из ресурса программы?
От: Dog  
Дата: 10.01.05 16:34
Оценка:
А>notifyIcon1.Icon = new Icon(Assembly.GetExecutingAssembly().GetManifestResourceStream("notifyIcon1.Icon"));
А>пишет "'null' is not a valid value for 'stream'."
А>Как быть? Помогите пожалуста
1. Разверните ваше выражение. Тогда вам самому будет понятнее где происходит ошибка.
2. Псмотрите имя иконки в ваших ресурсах. GetManifestResourceNames
... << RSDN@Home 1.1.4 beta 3 rev. 241>>
Re[2]: как достать иконку из ресурса программы?
От: Аноним  
Дата: 10.01.05 16:38
Оценка:
Здравствуйте, Dog, Вы писали:

А>>notifyIcon1.Icon = new Icon(Assembly.GetExecutingAssembly().GetManifestResourceStream("notifyIcon1.Icon"));

А>>пишет "'null' is not a valid value for 'stream'."
А>>Как быть? Помогите пожалуста
Dog>1. Разверните ваше выражение. Тогда вам самому будет понятнее где происходит ошибка.
Dog>2. Псмотрите имя иконки в ваших ресурсах. GetManifestResourceNames

К сожалению так и не понял — я новичек, а код в хелпе надыбал — там был такой код по доставанию Image из ресурса
Re[3]: как достать иконку из ресурса программы?
От: Dog  
Дата: 10.01.05 17:15
Оценка:
А>>>notifyIcon1.Icon = new Icon(Assembly.GetExecutingAssembly().GetManifestResourceStream("notifyIcon1.Icon"));
А>>>пишет "'null' is not a valid value for 'stream'."
А>>>Как быть? Помогите пожалуста
Dog>>1. Разверните ваше выражение. Тогда вам самому будет понятнее где происходит ошибка.

    Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("notifyIcon1.Icon");
    notifyIcon1.Icon = new Icon(stream);
// отладчик в руки


Dog>>2. Псмотрите имя иконки в ваших ресурсах. GetManifestResourceNames

А>К сожалению так и не понял — я новичек, а код в хелпе надыбал — там был такой код по доставанию Image из ресурса

    string[] resourceNames = Assembly.GetExecutingAssembly().GetManifestResourceNames();
// отладчик в руки


... если конечно эта иконка там есть
... << RSDN@Home 1.1.4 beta 3 rev. 241>>
Re[4]: как достать иконку из ресурса программы?
От: Аноним  
Дата: 11.01.05 07:50
Оценка:
Dog>
Dog>    string[] resourceNames = Assembly.GetExecutingAssembly().GetManifestResourceNames();
Dog>// отладчик в руки
Dog>


Dog>... если конечно эта иконка там есть


В ходе отладки
string[] = "MyApp.wfrm_Main.resources" и все, а иконка есть — я же редактирую ресурс формы и сам туда поместил иконку
Re[5]: как достать иконку из ресурса программы?
От: Аноним  
Дата: 11.01.05 10:08
Оценка:
Здравствуйте, Аноним, Вы писали:


Dog>>
Dog>>    string[] resourceNames = Assembly.GetExecutingAssembly().GetManifestResourceNames();
Dog>>// отладчик в руки
Dog>>


Dog>>... если конечно эта иконка там есть


А>В ходе отладки

А>string[] = "MyApp.wfrm_Main.resources" и все, а иконка есть — я же редактирую ресурс формы и сам туда поместил иконку

Проблема решена:
в папке проекта создаем иконку и в ее свойствах в проекте задаем "Embedded Resource".
Апосля в проекте имеем доступ к ней

myIcon = new Icon(this.GetType(), "Waves.ICO");
Re[6]: как достать иконку из ресурса программы?
От: Аноним  
Дата: 12.08.05 18:31
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Проблема решена:

А>в папке проекта создаем иконку и в ее свойствах в проекте задаем "Embedded Resource".
А>Апосля в проекте имеем доступ к ней

А>myIcon = new Icon(this.GetType(), "Waves.ICO");


Да это работает когда иконка расположена в папке проекта со всеми *.cs файлами, но это не очень удобно, т.е. я обычно создаю папку Images, Icons и т.д. Как получить объект Icon в этом случае?? Пробовал так:
myIcon = new Icon(this.GetType(), @"Icons\Waves.ICO");

но это даёт run time ошибку дескать ресурс не найден
Re[7]: как достать иконку из ресурса программы?
От: WanderSage  
Дата: 06.12.05 15:00
Оценка:
Сам столкнулся с подобной проблемой... Решение:

Icon myIcon = new Icon(typeof(<YourNamespace>.<YourClass>).Assembly.GetManifestResourceStream("<YourNamespace>.<YourFolder1>.<YourFolder2>.<YourIcon.ico>"));

И всё будет "чики-пуки"!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.