Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > Как добавить ресурс?


Автор: Competitor 31.8.2005, 16:20
Как добавить к проекту ресурс. Чтобы он появился в папке Properties->Resources.resx

Автор: mr.DUDA 1.9.2005, 10:33
Просто добавляешь в проект любой файл, открываешь Properties и ставишь Build Action = Embedded Resource. Насколько я понял (поправьте, если ошибаюсь), для .NET-проектов окно "Resource View" вообще не используется, т.к. все ресурсы отображаются в Solution Explorer-е.

Автор: Competitor 2.9.2005, 17:25
Ну а если мне нужно вставить в проект картику в виде ресурса.
открываешь Properties и ставишь Build Action = Embedded Resource.
Ну а дальше что?

Автор: mr.DUDA 2.9.2005, 23:19
А дальше - в нужный момент грузишь картинку из ресурсов, и юзаешь. Предположим, включил я файл "TextFile1.txt" как ресурс в корневую директорию проекта "ConsoleApplication1". И стал этот файл доступен для запроса по Assembly.GetManifestResourceStream, как в примере ниже. Если поместить файл ресурса во вложенную директорию внутри проекта, то ресурс "переместится" в соотвествующий этой директории namespace.

Вот так производится работа с ресурсами:
Код

using System;
using System.IO;
using System.Reflection;

namespace ConsoleApplication1
{
    class Class1
    {
        [STAThread]
        static void Main(string[] args)
        {
            Assembly assm = Assembly.GetExecutingAssembly();
            Stream stream = assm.GetManifestResourceStream("ConsoleApplication1.TextFile1.txt");
            string str = new StreamReader(stream).ReadToEnd();
            
            Console.Write(str);
        }
    }
}



Если у тебя не текстовый файл, а к примеру BMP, то читать стрим нужно BinaryReader-ом в массив байтов.

Автор: Competitor 6.9.2005, 19:04
mr.DUDA
А у меня вот так получилось. Нажал properties. Выбрал вкладку resources. Выбрал что будет добавляться в виде ресурса. И добавил ресурс, который в последствии можно было использовать как угодно в проекте.

Автор: Mad 6.9.2005, 20:28
Competitor
ты случаем не с 2005 беткой балуешся ? smile

Автор: mr.DUDA 7.9.2005, 09:23
Цитата(Mad @ 6.9.2005, 20:28)
с 2005 беткой

Судя по всему - с ней, родимой smile

Автор: Competitor 8.9.2005, 17:52
Да. Точно.

Автор: Katshooter 10.6.2007, 13:31
Плиз, помогите, у меня таже проблема, надо добавить иконку в рессурс, чтоб она была постоянно, для отображения в ListView, у которого есть постоянно обновляемый имеджлист. Для чего вызывать пропетиз??? чтоб потом положить ресурс???? ХЕЛП)))

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)