Изменение значка по умолчанию в приложении Windows Forms - PullRequest
72 голосов
/ 26 ноября 2010

Мне нужно изменить значок в приложении, над которым я работаю.Но просто просматривая другие значки на вкладке свойств проекта -> Приложение -> Значок , значки не сохраняются на рабочем столе.

Что такоеправильный способ сделать это?

Ответы [ 8 ]

77 голосов
/ 26 ноября 2010

Значки, которые вы видите на рабочем столе, не являются файлом значков.Это либо исполняемые файлы .exe , либо ярлыки любого приложения .lnk .Поэтому можно установить только значок с расширением .ico .

Перейти в меню проекта -> Свойства вашего_проекта -> вкладка приложения -> Ресурсы -> Значок

найдите свой Icon, помните, что он должен иметь .ico расширение

Вы можете сделать свой значок в Visual Studio

Перейти в меню проекта -> Добавить новый элемент -> Файл значка

17 голосов
/ 11 сентября 2013

Значок, отображаемый на панели задач и в заголовке окна, - это значок основной формы.Изменяя его значок, вы также устанавливаете значок, отображаемый на панели задач, когда уже включен в ваш * .resx :

System.ComponentModel.ComponentResourceManager resources = 
    new System.ComponentModel.ComponentResourceManager(typeof(MyForm));
this.Icon = ((System.Drawing.Icon)(resources.GetObject("statusnormal.Icon")));

или, непосредственно читая из ваших ресурсов:

this.Icon = new Icon("Resources/statusnormal.ico");

Если вы не можете сразу найти код Form, выполните поиск по всему проекту (CTRL+SHIFT+F) по отображаемому заголовку окна (при условии, что текст является статическим)

8 голосов
/ 26 ноября 2010

Вы можете изменить значок приложения в свойствах проекта. Отдельные значки формы в свойствах формы.

4 голосов
/ 01 декабря 2015

Как только значок в формате .ICO в visual studio, я использую

//This uses the file u give it to make an icon. 

Icon icon = Icon.ExtractAssociatedIcon(String);//pulls icon from .ico and makes it then icon object.

//Assign icon to the icon property of the form

this.Icon = icon;

так короче

Icon icon = Icon.ExtractAssociatedIcon("FILE/Path");

this.Icon = icon; 

Работает каждый раз.

3 голосов
/ 26 ноября 2010

В обозревателе решений щелкните правой кнопкой мыши название проекта и выберите «Свойства» в контекстном меню, чтобы открыть форму «Свойства проекта». На вкладке «Приложение» в групповом поле «Ресурсы» есть поле ввода, в котором вы можете выбрать файл значков, который вы хотите для своего приложения.

2 голосов
/ 02 января 2019

Добавьте ваш значок в качестве ресурса (Проект> Свойства вашего проекта> Ресурсы> Выбрать «Значки из выпадающего списка> Добавить ресурс (или выберите Добавить существующий файл из выпадающего списка, если у вас уже есть .ico)

Затем:

this.Icon = Properties.Resources.youriconname;

2 голосов
/ 06 октября 2017

Я добавил файл .ico в свой проект, установив для параметра Действия сборки значение Встроенный ресурс .Я указал путь к этому файлу в качестве значка проекта в настройках проекта, а затем использовал приведенный ниже код в конструкторе формы, чтобы поделиться им.Таким образом, мне не нужно хранить файл ресурсов с копиями значка.Все, что мне нужно сделать, чтобы обновить его, это заменить файл.

var exe = System.Reflection.Assembly.GetExecutingAssembly();
var iconStream = exe.GetManifestResourceStream("Namespace.IconName.ico");
if (iconStream != null) Icon = new Icon(iconStream);
1 голос
/ 14 августа 2017

Я обнаружил, что самый простой способ:

  1. Добавить файл Icon в ваш проект WinForms.
  2. Изменить действие по сборке файлов значков на Встроенный ресурс
  3. В функции загрузки основной формы:

    Icon = LoadIcon ("<имя файла этого значка>");

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...