Данная задача встречается крайне редко. Но тем не менее, довольно таки полезно знать хотя бы азы работы с графическими объектами, в том числе назначать динамически иконку формы.
Требуется из имеющегося графического файла получить иконку для формы приложения:

Делается это проще пареной репы:
using (Bitmap bitmap = Image.FromFile(@"D:\1.jpg") as Bitmap)
{
IntPtr sourceIcon = bitmap.GetHicon();
this.Icon = Icon.FromHandle(sourceIcon);
}
Пояснения.
Заметьте, что использование графических ресурсов ограничено блоком using. В этом случае нет необходимости подчищать ресурсы по окончанию работы с ними. Более детально об этом можете почитать в Метод Dispose() и конструкция using()
Далее мы используем тип IntPtr. Объекты класса IntPtr определяется самой платформой, на которой выполняется код программы. Чаще используются для хранения дескрипторов, или указателей, например для хранения дескрипторов файлов для объектов System.IO.FileStream. Помещаем в него дескриптор нашего bitmap и после этого методом Icon.FromHandle получаем объект System.Drawing.Icon.
Все. Икона создается правильных размеров из любого графического файла практически любого размера.
Оценить статью:
Оценивая статью, Вы подсказываете нам насколько данная информация стала
полезной именно для Вас. Мы ожидаем, прежде всего, оценку доступности материала
для понимания и простоты его изложения. Дополнительные комментари, вопросы,
дополнения и замечания Вы можете указать на странице
От Вас
Частичное, или полное копирование материала данной
статьи возможно лишь при размещении ссылки на данную страницу.