Alterando o ícone padrão em um aplicativo Windows Forms

92

Preciso mudar o ícone no aplicativo em que estou trabalhando. Mas, simplesmente navegando por outros ícones na guia de propriedades do projeto -> Aplicativo -> Ícone , não está obtendo os ícones armazenados na área de trabalho.

Qual é a maneira certa de fazer isso?

Srivastava
fonte
Você está alterando a propriedade do formulário ou do aplicativo?
Matt Ellen
Quais ícones são armazenados em sua área de trabalho? Certifique-se de que está no formato in ico.
Shoban
como converter jpg para o formato ico ??
Srivastava
Se você estiver procurando por ícones que já estão no formato correto para usar em seu aplicativo, veja as respostas a esta pergunta: stackoverflow.com/questions/4142203/…
Cody Gray

Respostas:

88

Os ícones que você está vendo na área de trabalho não são um arquivo de ícone. Eles são arquivos executáveis .exe ou atalhos de qualquer aplicativo .lnk . Portanto, só pode definir ícones que tenham extensão .ico .

Vá para o Menu do Projeto -> Propriedades de Your_Project_Name -> Guia do Aplicativo -> Recursos -> Ícone

procure seu ícone, lembre-se de que deve ter .ico extensão

Você pode fazer seu ícone no Visual Studio

Vá para o Menu do Projeto -> Adicionar Novo Item -> Arquivo de Ícone

Javed Akram
fonte
22

O ícone exibido na barra de tarefas e no título da janela é o do formulário principal. Ao alterar seu ícone, você também define o ícone mostrado na barra de tarefas, quando já incluído em seu * .resx :

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

ou, lendo diretamente de seus Recursos:

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

Se você não conseguir encontrar imediatamente o código de Form, procure em todo o seu projeto ( CTRL+SHIFT+F) o Window-Title mostrado (presumindo que o texto é estático)

Lorenz Lo Sauer
fonte
10

Você pode alterar o ícone do aplicativo nas propriedades do projeto. Ícones de formulário individuais nas propriedades do formulário.

KristoferA
fonte
10

Adicione o seu ícone como um Recurso (Projeto> Propriedades do nome do seu projeto> Recursos> Escolha "Ícones na lista suspensa> Adicionar Recurso (ou escolha Adicionar Arquivo Existente na lista suspensa se você já tiver o .ico)

Então:

this.Icon = Properties.Resources.youriconname;

Csomotor
fonte
1
Esta é a melhor resposta de todas. Isso funciona até mesmo com um único arquivo EXE publicado
Jérôme MEVEL
Perfeito. Em VB.Net, usei Icon = My.Resources.youriconname
Richard Moore
Esta deve ser a melhor resposta. O único que mantém o ícone no arquivo exe.
Daniel Möller
5

Uma vez que o ícone está no formato .ICO no Visual Studio, eu uso

//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;

então resumindo

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

this.Icon = icon; 

Funciona sempre.

Josh
fonte
1
Works everytime.errado, não funciona se o aplicativo for publicado como um único arquivo exe
Jérôme MEVEL
3

No explorador de soluções, clique com o botão direito do mouse no título do projeto e selecione 'Propriedades' no menu de contexto para abrir o formulário 'Propriedade do projeto'. Na guia 'Aplicativo', na caixa de grupo 'Recursos', há um campo de entrada onde você pode selecionar o arquivo de ícone que deseja para o seu aplicativo.

LEMUEL ADANE
fonte
Só para adicionar isso, ele teria que mudar o ícone de suas formas também
KansaiRobot
3

Eu adicionei o arquivo .ico ao meu projeto, definindo a ação Build para Embedded Resource . Especifiquei o caminho para esse arquivo como o ícone do projeto nas configurações do projeto e, em seguida, usei o código abaixo no construtor do formulário para compartilhá-lo. Dessa forma, não preciso manter um arquivo de recursos em nenhum lugar com cópias do ícone. Tudo o que preciso fazer para atualizá-lo é substituir o arquivo.

var exe = System.Reflection.Assembly.GetExecutingAssembly();
var iconStream = exe.GetManifestResourceStream("Namespace.IconName.ico");
if (iconStream != null) Icon = new Icon(iconStream);
Dov
fonte
1

Descobri que a maneira mais fácil é:

  1. Adicione um arquivo de ícone em seu projeto WinForms.
  2. Mude a ação de construção dos arquivos de ícone para recurso incorporado
  3. Na função de carregamento do formulário principal:

    Icon = LoadIcon ("<o nome do arquivo desse ícone>");

sk
fonte
0

A solução mais simples está aqui: Se você estiver usando o Visual Studio, em Solution Explorer, clique com o botão direito no arquivo de projeto. Escolha Properties. Selecione Icon and manifeste navegue no seu .icoarquivo.

MeirDayan
fonte
0

Selecione as propriedades do seu projeto na guia Projeto, em seguida, Aplicativo-> Recurso-> Ícone e manifesto-> altere o ícone padrão

Isso funciona no Visual studio 2019 perfeitamente. Observação: apenas arquivos com formato .ico podem ser adicionados como ícone

Chandhu Kuttan
fonte
0

selecione o formulário principal -> propriedades -> estilo do Windows -> ícone -> navegue no seu ico

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

Srinivasan
fonte