Изменение значка по умолчанию в приложении Windows Forms

91

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

Как правильно это делать?

Шривастава
источник
Вы меняете свойство формы или приложения?
Мэтт Эллен
Какие значки хранятся на вашем рабочем столе? Убедитесь, что он в формате ico.
Shoban
как конвертировать jpg в формат ico ??
Srivastava
Если вы ищете значки, которые уже имеют правильный формат для использования в вашем приложении, см. Ответы на этот вопрос: stackoverflow.com/questions/4142203/…
Коди Грей

Ответы:

87

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

Перейдите в меню проекта -> Свойства вашего_проекта -> ВКЛАДКА ПРИЛОЖЕНИЯ -> Ресурсы -> Значок

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

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

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

Джавед Акрам
источник
22

Значок, отображаемый на панели задач и в заголовке окна, является значком основной формы. Изменяя его значок, вы также устанавливаете значок, отображаемый на панели задач, если он уже включен в ваш * .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) отображаемого заголовка окна (при условии, что текст статический)

Лоренц Ло Зауэр
источник
10

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

КристоферА
источник
9

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

Затем:

this.Icon = Properties.Resources.youriconname;

Csomotor
источник
1
Это лучший ответ из всех. Это работает даже с опубликованным одиночным файлом EXE
Жером МЭВЕЛ
Отлично. В VB.Net я использовал Icon = My.Resources.youriconname
Ричард Мур,
Это должен быть главный ответ. Единственное, что держит иконку в exe файле.
Даниэль Мёллер,
5

Как только значок находится в формате .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; 

Работает всегда.

Джош
источник
1
Works everytime.неверно, не работает, если приложение опубликовано как один exe-файл
Жером МЭВЕЛ
3

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

ЛЕМУЭЛЬ АДАН
источник
Просто добавлю, что в дополнение к этому ему также придется изменить значок своих форм
KansaiRobot
3

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

var exe = System.Reflection.Assembly.GetExecutingAssembly();
var iconStream = exe.GetManifestResourceStream("Namespace.IconName.ico");
if (iconStream != null) Icon = new Icon(iconStream);
Дов
источник
1

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

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

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

sk
источник
0

Самое простое решение здесь: если вы используете Visual Studio, Solution Explorerщелкните правой кнопкой мыши файл проекта. Выбирайте Properties. Выберите, а Icon and manifestзатем Просмотрите свой .icoфайл.

Ответ сообщества
источник
0

Выберите свойства своего проекта на вкладке Project, затем Application-> Resource-> Icon And Manifest-> измените значок по умолчанию

Это прекрасно работает в Visual Studio 2019. Примечание. В качестве значка можно добавить только файлы в формате .ico.

Чандху Куттан
источник
0

выберите Основная форма -> Свойства -> Стиль Windows -> значок -> просмотрите свой ico

this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));

Шринивасан
источник