Pergunta

Como faço para criar um recurso que pode fazer referência e uso em várias partes do meu programa facilmente?

Meu problema específico é que eu tenho um NotifyIcon que eu quero mudar o ícone de acordo com o estado do programa. Um problema comum, mas um que eu estive lutando com por um longo tempo.

Foi útil?

Solução

Bem, depois de procurar em torno e remendar vários pontos em torno StackOverflow (Gee, eu amo este lugar já), a maioria dos problemas já eram passado nesta fase. Eu consegui trabalho fora uma resposta para o meu problema embora.

Como criar um recurso:

No meu caso, eu quero criar um ícone. É um processo semelhante, não importa que tipo de dados que você deseja adicionar como um recurso embora.

  • clique com o botão direito o projeto que você deseja adicionar um recurso para. Fazer isso no Solution Explorer. Selecione a opção "Propriedades" da lista.
  • Clique na aba "Recursos".
  • O primeiro botão na parte superior da barra permitirá que você selecione o tipo de recurso que você deseja adicionar. Ele deve começar na corda. Queremos adicionar um ícone, então clique sobre ele e selecione "Ícones" na lista de opções.
  • Em seguida, passar para o segundo botão "Adicionar recursos". Você pode adicionar um novo recurso, ou se você já tem um ícone já fez, você pode adicionar isso também. Siga as instruções para qualquer opção que você escolher.
  • Neste ponto, você pode dar um duplo clique no recurso recentemente adicionado para editá-lo. Nota, os recursos também aparecem no Solution Explorer e clique duplo não é tão eficaz.

Como usar um recurso:

Great, por isso temos o nosso novo recurso e que está louco para ter essas lindas ícones em mudança ... Como podemos fazer isso? Bem, sorte nossa, C # faz isto extremamente fácil.

Há uma classe estática chamada Properties.Resources que lhe dá acesso a todos os seus recursos, por isso o meu código acabou sendo tão simples como:

paused = !paused;
if (paused)
    notifyIcon.Icon = Properties.Resources.RedIcon;
else
    notifyIcon.Icon = Properties.Resources.GreenIcon;

Feito! Acabado! Tudo é simples quando você sabe, não é?

Outras dicas

O acima na verdade não trabalho para mim como eu esperava com o Visual Studio 2010. Ele não me deixava acessar Properties.Resources, disse que era inacessível devido a problemas de permissão. I, essencialmente, teve de alterar as configurações de persistência no propriedades do recurso e então descobri como acessá-lo através do arquivo Resources.Designer.cs, onde teve um getter automático que me deixe acessar o ícone, via MyNamespace.Properties.Resources .NameFromAddingTheResource. Que retorna um objeto do tipo Ícone, pronto para uso apenas.

O método acima funciona bem.

Outro método (Estou assumindo web aqui) é criar sua página. Adicionar controles à página. Então, enquanto no modo de design, acesse: Ferramentas> Gerar Resource Local. Um arquivo de recurso irá aparecer automagicamente na solução com todos os controles na página mapeado no arquivo de recurso.

Para criar recursos para outros idiomas, acrescente a linguagem de 4 caracteres para o final do nome do arquivo, antes da extensão (Account.aspx.en-US.resx, Account.aspx.es-ES.resx ... etc ).

Para recuperar entradas específicas no codebehind, simplesmente chamar esse método:. GetLocalResourceObject ([chave de entrada de recursos / name])

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top