Я поставил в свойствах *ico Embedded Resource. Он виден в манифесте, но не знаю, как его получить в во время выполнения. Есть конструктор
public Icon(
Type type,
string resource
);
но как получить эти параметры я не нашел.
Здравствуйте, Michael-Z, Вы писали:
MZ>Я поставил в свойствах *ico Embedded Resource. Он виден в манифесте, но не знаю, как его получить в во время выполнения. Есть конструктор
MZ> public Icon(
MZ> Type type,
MZ> string resource
MZ>);
MZ>но как получить эти параметры я не нашел.
У Icon есть и другие конструкторы. Например, вот этот:
public Icon(
Stream stream
);
Продолжать или понятно?
Я где то нашёл пример где делалось вот так
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