Como usar configurações no C#

Matt Stoecker, Microsoft Corporation

Publicado em: 12 de setembro de 2006

Aprenda a usar os novos recursos do Visual C# 2005 para trabalhar com configurações de aplicativo e de usuário. _1081526

Aplica-se ao:

  • Microsoft Visual C# 2005

  • Microsoft .NET Framework 2.0

Resumo: Aprenda a usar os novos recursos do Visual C# 2005 para trabalhar com configurações de aplicativo e de usuário. (5 páginas impressas)

Nesta página

Introdução Introdução
Configurações de aplicativo e de usuário Configurações de aplicativo e de usuário
Criação de uma nova configuração em tempo de design Criação de uma nova configuração em tempo de design
Uso de configurações em tempo de execução Uso de configurações em tempo de execução
Uso de conjuntos de configurações alternativos Uso de conjuntos de configurações alternativos
Conclusão Conclusão

Introdução

O .NET Framework 2.0 permite-lhe criar e acessar valores mantidos entre as sessões de execução do aplicativo. Esses valores são chamados de configurações. Configurações podem representar preferências do usuário ou informações valiosas de que o aplicativo necessita. Por exemplo, é possível criar uma série de configurações que armazenam as preferências do usuário quanto ao esquema de cores de um aplicativo. Ou, então, armazenar a seqüência de caracteres de conexão que especifica um banco de dados usado pelo aplicativo. As configurações lhe permitem manter informações críticas ao aplicativo fora do código e criar perfis que armazenam as preferências dos usuários individualmente.

Embora o Visual Basic 2005 tenha fornecido um mecanismo facilmente perceptível para acessar configurações usando o namespace Meu, não há nenhum namespace análogo no Visual C# 2005 e, portanto, as configurações são um pouco mais difíceis de acessar. Entretanto, os usuários do C# ainda podem usar as configurações acessando o namespace Propriedades. No decorrer deste artigo, você aprenderá a diferença entre configurações de aplicativo e de usuário, a criar novas configurações em tempo de design, a acessar configurações em tempo de execução e até a incorporar vários conjuntos de configurações em seu aplicativo.

Configurações de aplicativo e de usuário

As configurações têm quatro propriedades:

  • Name: A propriedade Name é o nome usado para acessar o valor da configuração em tempo de execução.

  • Type: Type é o tipo de .NET Framework que a configuração representa. A configuração pode ser de qualquer tipo. Por exemplo, uma configuração que mantém uma preferência de cor do usuário pode ser do tipo System.Color.

  • Scope: A propriedade Scope representa como uma configuração pode ser acessada em tempo de execução. Há dois valores possíveis para a propriedade Scope: Application e User. Eles serão mais bem discutidos posteriormente, nesta seção.

  • Value: A propriedade Value representa o valor retornado no momento em que a configuração é acessada. O valor será do tipo representado pela propriedade Type.

A maior parte das propriedades é auto-explicativa. Name, Type e Value são conceitos que devem ser familiares à maioria dos programadores. A propriedade Scope requer um pouco mais de explicação. As configurações têm dois escopos possíveis: escopo application e escopo user. Configurações com escopo application representam aquelas usadas pelo aplicativo independentemente das preferências do usuário, ao passo que as configurações com escopo user são, geralmente, menos importantes para o aplicativo em si e é mais provável que estejam associadas às preferências ou a outros valores não-críticos.

A distinção crucial entre configurações de escopo application e de escopo user é que essas últimas são leitura/gravação em tempo de execução e seus valores podem ser alterados e salvos no código. Configurações de escopo application são somente-leitura em tempo de execução. Embora sejam lidas, não podem ser gravadas. Configurações com escopo application podem ser alteradas somente em tempo de design ou pela modificação manual do arquivo de configurações.

Criação de uma nova configuração em tempo de design

É possível criar uma nova configuração em tempo de design usando o Settings Designer. O Settings Designer é uma interface familiar em estilo de grade que lhe permite criar novas configurações e especificar propriedades para elas. Deve-se especificar Name, Type, Scope e Value para cada nova configuração. Uma vez criada a configuração, ela pode ser avaliada no código através dos mecanismos descritos mais adiante, neste artigo.

Para criar uma nova configuração em tempo de design

  1. No Solution Explorer, expanda o nó Properties de seu projeto.

  2. No Solution Explorer, clique duas vezes no arquivo .settings em que deseja adicionar uma nova configuração. O nome padrão do arquivo é Settings.settings.

  3. No Settings Designer, defina Name, Type, Scope e Value para sua configuração. Cada linha representa uma única configuração. A Figura 1 mostra um exemplo do Settings Designer.

Figura 1. O Settings Designer no Visual Studio 2005

Alteração do valor de uma configuração existente em tempo de design

Também é possível usar o Settings Designer para alterar o valor de uma configuração preexistente em tempo de design, conforme descrito nas etapas a seguir:

Para alterar o valor de uma configuração existente em tempo de design

  1. No Solution Explorer, expanda o nó Propriedades de seu projeto.

  2. No Solution Explorer, clique duas vezes no arquivo .settings em que deseja adicionar uma nova configuração. O nome padrão do arquivo é Settings.settings.

  3. No Settings Designer, localize a configuração que você deseja alterar e digite o novo valor na coluna Valor.

Alteração do valor de uma configuração entre sessões do aplicativo

Às vezes, convém alterar o valor de uma configuração entre sessões do aplicativo, depois que o aplicativo é compilado e implantado. Por exemplo, convém alterar uma seqüência de caracteres de conexão para que ela aponte para o local correto do banco de dados. Uma vez que as ferramentas de tempo de design não ficam disponíveis depois que o aplicativo é compilado e implantado, deve-se alterar o valor da configuração manualmente no arquivo.

Para alterar o valor de uma configuração entre sessões do aplicativo

  1. Usando o Bloco de Notas da Microsoft ou outro editor de texto ou editor XML, abra o arquivo [AssemblyName].exe.config associado ao seu aplicativo.

  2. Localize a entrada da configuração que deseja alterar. Ela deve ter uma aparência semelhante ao exemplo a seguir:

<setting name="Setting" serializeAs="String"> <value>This is the setting value</value> </setting>

  1. Digite um novo valor para sua configuração e salve o arquivo.

Uso de configurações em tempo de execução

As configurações ficam disponíveis ao aplicativo por meio do código em tempo de execução. O valor de configurações com escopo application é acessível apenas em modo somente-leitura e os valores de configurações com escopo user são passíveis de leitura e gravação. As configurações ficam disponíveis no C# por meio do namespace Propriedades.

Leitura de configurações em tempo de execução

Em tempo de execução, é possível ler configurações tanto de escopo application, quanto user, com namespace Propriedades. O namespace Propriedades expõe todas as configurações padrão do projeto, utilizando o objeto Properties.Settings.Default. Quando se escreve código com configurações, todas as configurações aparecem no IntelliSense e são do tipo de alta segurança. Assim, se houver uma configuração do tipo System.Drawing.Color, por exemplo, você poderá usá-la sem ter que convertê-la primeiro, como mostra o exemplo a seguir:

this.BackColor = Properties.Settings.Default.myColor;


Como salvar configurações do usuário em tempo de execução

Configurações de escopo application são somente-leitura e podem ser alteradas apenas em tempo de design ou através de modificação no arquivo [AssemblyName].exe.config entre sessões do aplicativo. Entretanto, configurações de escopo user podem ser gravadas em tempo de execução, bastando, para isso, alterar normalmente qualquer valor de propriedade. O novo valor será mantido enquanto durar a sessão do aplicativo. É possível manter as alterações em configurações do usuário entre sessões do aplicativo chamando-se o método Settings.Save. Essas configurações são salvas no arquivo User.config.

Para gravar e manter configurações do usuário em tempo de execução

  1. Acesse a configuração do usuário e atribua-lhe um novo valor, como mostra o exemplo a seguir:

    Properties.Settings.Default.myColor = Color.AliceBlue;
    
    
    
  2. Se desejar manter as alterações feitas em configurações do usuário entre sessões do aplicativo, chame o método Salvar, como mostra o código a seguir:

    Properties.Settings.Default.Save();
    
    

Uso de conjuntos de configurações alternativos

Em alguns casos, convém ter vários conjuntos de configurações em um aplicativo. Por exemplo, se você estiver desenvolvendo um aplicativo no qual se supõe que um determinado grupo de configurações deve ser alterado com freqüência, talvez seja mais inteligente separá-las em um único arquivo, de modo que esse arquivo possa ser substituído em massa sem que as demais configurações sejam afetadas. O Visual Studio 2005 lhe permite adicionar vários conjuntos de configurações ao projeto. Os conjuntos de configurações adicionais podem ser acessados utilizando-se o objeto de configurações gerado em seu próprio nó. Por exemplo, se você adicionou um conjunto de configurações denominado SpecialSettings ao projeto, é possível acessar as configurações contidas no código por intermédio do objeto Properties.SpecialSettings.

Para adicionar um conjunto de configurações

  1. No menu Project, escolha Add New Item. A caixa de diálogo Add New Item é exibida.

  2. Na caixa de diálogo Add New Item, selecione Settings File.

  3. Na caixa Name, dê um nome para o arquivo de configurações, como SpecialSettings.settings e clique em Add para adicionar o arquivo à sua solução.

  4. No Solution Explorer, arraste o novo arquivo de configurações para a pasta Properties. Isso faz com que as suas novas configurações fiquem disponíveis no código.

  5. Adicione e use configurações nesse arquivo da mesma forma que faria em qualquer outro arquivo de configurações. Você pode acessar esse grupo de configurações por intermédio do objeto Properties.SpecialSettings.

Conclusão

Neste artigo, você viu como usar configurações em seus aplicativos C# para armazenar e gerenciar configurações que pertencem tanto ao aplicativo, quanto ao usuário. Você aprendeu a adicionar configurações em tempo de design, a ler e gravar configurações em tempo de execução e a incorporar conjuntos de configurações adicionais a seu aplicativo. Para obter mais informações, consulte os seguintes recursos:

Windows Forms on Microsoft .NET Framework Developer Center
WindowsForms.NET
Windows Forms Documentation Updates Blog