Получить Icon из ресурса исполняемой сборки
От: Michael-Z  
Дата: 29.07.05 11:58
Оценка:
Я поставил в свойствах *ico Embedded Resource. Он виден в манифесте, но не знаю, как его получить в во время выполнения. Есть конструктор
public Icon(
Type type,
string resource
);
но как получить эти параметры я не нашел.
Re: Получить Icon из ресурса исполняемой сборки
От: Andrbig  
Дата: 29.07.05 13:10
Оценка:
Здравствуйте, Michael-Z, Вы писали:

MZ>Я поставил в свойствах *ico Embedded Resource. Он виден в манифесте, но не знаю, как его получить в во время выполнения. Есть конструктор

MZ> public Icon(
MZ> Type type,
MZ> string resource
MZ>);
MZ>но как получить эти параметры я не нашел.

У Icon есть и другие конструкторы. Например, вот этот:
public Icon(
   Stream stream
);

Продолжать или понятно?
Re: Получить Icon из ресурса исполняемой сборки
От: Serge2005  
Дата: 29.07.05 13:20
Оценка:
Я где то нашёл пример где делалось вот так

using System;
using System.Collections;
using System.Drawing;
using System.IO;
using System.Reflection;

namespace CIS.Resources
{
    public class ResourceHolder
    {
        private static Hashtable _cache = new Hashtable();

        private static Stream GetStream(string name)
        {
            return Assembly.GetAssembly(typeof(ResourceHolder)).
                GetManifestResourceStream(typeof(ResourceHolder), name);
        }

        public static Bitmap GetBitmap(string key, bool transparent)
        {
            if (!_cache.ContainsKey(key))
            {
                try
                {
                    Bitmap myBitmap = new Bitmap(GetStream(key));
                    if (transparent)
                    {
                        Color backColor = myBitmap.GetPixel(0, 0);
                        myBitmap.MakeTransparent(backColor);
                    }
                    _cache.Add(key, myBitmap);
                }
                catch(Exception)
                {
                    return null;
                }
            }

            return (Bitmap)_cache[key];
        }

        public static Bitmap GetBitmap(string key)
        {
            return GetBitmap(key, true);
        }

    }
}



Сам файл этого класса находится в закладке Resources в Solution Explorer
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.