Windows Forms Application – Alterando Arquivo de Configuração Dinamicamente


por Mauricio Junior em 1/1/2011 0


    Olá pessoal, hoje eu vou falar um pouco sobre Windows Forms Application. Muitas vezes precisamos alterar algumas configurações dinamicamente, ou seja, alterar alguns dados dentro do arquivo App.config em tempo de execução.
   
    O que vou falar e mostrar hoje é: método que pode alterar arquivo de configuração dinamicamente, passando o nome da chave o valor.

Usado:
Visual Studio .NET 2010
Framework: 4.0
Plataforma: Windows Forms Application
Linguagem: C#

    É bem simples o que vou mostrar aqui, porém muito útil no dia a dia. Muitos não sabem fazer, então resolvi fazer e postar aqui no site.

    O primeiro passo foi criar um aplicativo do tipo Windows Forms Application. O segundo passo foi criar uma classe chamada Configuracao.cs, pública e estática; ou seja; aquela que não precisa instanciar. (Imagem 1)



Referência: Imagem 1
   
Dentro da classe, criei um método público e estático chamado UpdateAppSettins.

public static void UpdateAppSettings(string chave, string valor){}

    Note que o método recebe uma string chave e uma string valor. No campo chave, deve ser passado o nome da chave do arquivo de configuração e o valor deve ser passado o valor que será atribuído em tempo de execução. (Código 1)

public static void UpdateAppSettings(string chave, string valor)
        {
            // Open App.Config of executable
            System.Configuration.Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
           
            // Add an Application Setting.
            config.AppSettings.Settings.Remove(chave);
            config.AppSettings.Settings.Add(chave, valor);
           
            // Save the configuration file.
            config.Save(ConfigurationSaveMode.Modified);
           
            // Force a reload of a changed section.
            ConfigurationManager.RefreshSection("appSettings");
        }

Código 1

    Note que a primeira linha de código, eu abro o arquivo App.config. Adicionei depois o Application Settings, salvo a modificação e faço um refreshSection para atualizar. Sem esse refresh o valor trocado não será utilizado com o .exe que está rodando.

Layout

    Depois de criar a classe e o método, criei o layout para utilização. (Imagem 2)



Referência: Imagem 2

    No clique do botão, chamo o método passando o nome da tag do settings e o valor que desejo atribuir. (Código 2)


        private void cmdConfigurar_Click(object sender, EventArgs e)
        {
            try
            {
                Configuracao.UpdateAppSettings("nome", "mauricio");
                Configuracao.UpdateAppSettings("teclado", "ABNT2");
               
                MessageBox.Show("Alterado com sucesso");
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
Código 2
   
    É bem simples e fácil depois que o método é criado.  Lógico que o arquivo App.config precisa ser adicionado junto ao projeto.

Criação do App.config


<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <appSettings>
    <add key="nome" value="valor"/>
    <add key="Teclado" value="ABNT"/>
  </appSettings>
</configuration>

Código 3

    No código 3, mostro a tag adicionado com um valor qualquer e na mudança via código o mesmo fica da seguinte maneira. (Código 4)


<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <appSettings>
    <add key="nome" value="mauricio" />
    <add key="teclado" value="ABNT2" />
  </appSettings>
</configuration>

Código 4.

    Fico por aqui e qualquer dúvida pode entrar em contato pelo site, agradeço.

voltar   comente  subir

 
Mauricio Junior Formado pela Faculdade Anhanguera, Especialista pela FGV (Fundação Getúlio Vargas), Pós-Graduação em Docência Superior e cursando Mestrado na UNB Engenharia Elétrica; .
Tenho 29 anos e possuo sete livros publicados pela editora Ciência Moderna. Sou Certificado Microsoft MCP, MCAD e MVP, faço parte da comunidade ASPNETI.COM, ECODE10.COM, onde publico artigos, vídeos, ebooks e livros Publico artigos, vídeos e podcast em outras comunidades. Trabalho como Analista de Sistemas / Desenvolvedor na empresa ATP S/A. Blog: blog.mauriciojunior.org, Site pessoal www.mauriciojunior.org



Comentários:

Comente (dê sua opinião):
Comentário:
Código Imagem:  (digite o código da imagem respeitando maiúsculo e minúsculo)

Favor digitar o código da imagem para cadastramento.

 

Outros Artigos do Autor

Filtrar o DataTable Dinamicamente
Aspirador de pó inteligente
Visual Studio 11 – Novas funcionalidades e melhorias parte 3
Alongar é preciso
Saiba como fazer download de vídeo na web
Artigo Criando RSS Xml para o Seu Próprio Site
Vírus - Telegrama Eletrônico
Verifica Browser utilizando C#
Microsoft Recite
Inserindo no Sql Server
Insistência com Vírus por E-mail
Vídeo - Serviços do Windows Live
Criando Números Aleatoriamente
Usando Dll Nativa e Using
Sistema de Login em ASP – Parte 10
Sistema de Login em ASP – Parte VI
Ajax com C#.NET (parte 1)
Gerando Relatório e Exportando para o Excel
Vídeo - Tecla de Atalho
Configurar Style
Conecte - novidades tecnológicas revolucionam a medicina
IsDecimal
Ophone The Microsoft - Vídeo
Como fazer uma enquete - parte 1
Como criar uma tabela dinâmica com ASP.NET
Usando Split no C#
Adicionando Menu no DataGridView
Litl um computador web
Windows Mobile Phone
Vídeo - Themes/Skin/Stylo
Evento BrasilDotNet 2008
Vídeo: Montando o Windows Phone em NYC
DataGrid Mobile
Trabalhando com ENUM
As várias maneiras de mandar e-mail utilizando .NET