Windows Forms .NET 2.0: como desenhar um ícone PNG?

Nota: Pergunta, questãoUsando o ícone do Vista de 256 x 256 no aplicativo trata do uso do ícone "Vista" como o ícone do aplicativo. Esta pergunta trata da pintura manual de um ícone do Vista.

Nota: Pergunta, questãoWinForms .NET 2.0: Como pintar o ícone de tamanho adequado? trata da pintura de um ícone do Vista carregado de um arquivo. Esta pergunta trata da pintura de um ícone do Vista carregado de um recurso.

Incluí um ícone no meu projeto do Visual Studio que possui vários formatos:

16x1632x3248x48256x256 (PNG compactado)

Agora, você deseja desenhar a versão de 256x256. Nenhuma das seguintes coisas que eu tentei trabalhar.

A seguir, desenha o formato 32x32 estendido para 256x256:

Icon ico = Properties.Resources.TestIconThatHasA256PNGFormat;
e.Graphics.DrawIcon(ico, new Rectangle(0, 0, 256, 256));

A seguir, desenha o formato 32x32 sem esticar:

Icon ico = Properties.Resources.TestIconThatHasA256PNGFormat;
e.Graphics.DrawIconUnstretched(ico, new Rectangle(0, 0, 256, 256));

A seguir, desenha o formato 32x32 estendido para 256x256:

Icon ico = Properties.Resources.TestIconThatHasA256PNGFormat;
e.Graphics.DrawImage(ico.ToBitmap(), new Rectangle(0, 0, 256, 256));

A seguir, desenha o formato 48x48 estendido para 256x256:

Icon ico = Properties.Resources.TestIconThatHasA256PNGFormat;
e.Graphics.DrawIcon(
      new Icon(ico, new Size(256, 256)),
      new Rectangle(0, 0, 256, 256));

Como faço para desenhar o ícone do formato 256x256?

Notas:

O ícone não vem de um arquivo, entãoPInvoking LoadImage () não ajudará.

O ícone não é o ícone associado a um arquivo, portantoPInvoking SHGetFileInfo ()vai não ajuda. Nemusando Icon.ExtractAssociatedIcon.

Também não estou tentando criar ícones com um formato de 256x256 em tempo de execução, entãobibliotecas projetadas para fazer isso não vai ajudar.

2: Pergunta, questãoWinForms .NET 2.0: Como pintar o ícone de tamanho adequado?

questionAnswers(3)

yourAnswerToTheQuestion