Introdução sobre Aplicações Desktop

Aplicações Desktop

Renato Haddad

Microsoft Most Valuable Professional MVP, MCT, MCPD e MCTS

Tecnologias

Visual Studio .NET 2010, C#

Introdução

Neste artigo irei abordar aspectos relacionados a aplicações Destkop. Muitos usuários estão acostumados com aplicações WEB, mas toda e qualquer aplicação executada no computador é uma aplicação Desktop, por exemplo, o Internet Explorer, o Microsoft Office, Skype, etc.

Em nível de desenvolvimento e usabilidade, estas aplicações têm muito mais recursos que qualquer aplicação WEB, afinal, a quantidade de tipos de controles existentes nativos ou criados por terceiros é enorme.

Vale dizer ainda que alguns tipos de aplicações se enquadram perfeitamente como Desktop, por exemplo, frente de caixa de um bar ou supermercado, dashboards de diretores, calculadoras, etc.

 

Veja a lista de controles nativos existentes no Visual Studio .NET 2010 para serem utilizados nos formulários. Para você desenvolvedor, basta clicar e arrastar no formulário, posicionar o controle de acordo com o layout definido, configurar as propriedades (pressione F4) e se preciso, dependendo do controle, adicione métodos de ação.

 

                       

Veja um formulário contendo alguns controles como Menu, botão, caixa de texto, NumericUpDown e DataGridView.

 

 

Como adicionar eventos aos controles?

A forma mais rápida de associar um evento ao controle é dar um duplo clique no controle. Neste caso, dê um duplo clique no botão button1 e veja que será aberta a janela de códigos C#. Outra forma é pressionar F4 para exibir a janela de propriedades, clicar no ícone raio amarelo para exibir todos os eventos associados ao respectivo controle, e ao final, dar um duplo clique no respectivo evento.

Veja que a assinatura do método do button1 informa o nome do evento seguido de dois argumentos. O nome do evento é apenas uma sugestão button1_Click e você pode mudar. Na verdade, o VS pega o nome do controle inseri o underline (_) seguido do evento em si. Já os argumentos são o objeto em si do tipo object (object sender) e os argumentos EventArgs. Com isto você tem acesso a todo o objeto e seus argumentos. Aproveitando este método, digite o código contido entre as chaves para exibir uma mensagem ao usuário quando clicar no botão.

 

private void button1_Click(object sender, EventArgs e)

{

    MessageBox.Show("Ola WinForms", "MVA");

}

 

Agora vamos ver como criar um evento para um controle do tipo caixa de texto TextBox. No layout sugerido, adicione um Label (nome default é label1) e um TextBox (nome default textbox1). Dê um duplo clique no textBox1 e veja que o evento criado é o TextChanged. Este evento será disparado a cada caractere que você digitar no controle textbox1 e mostrará o resultado no label1. O resultado é convertido para maiúsculo devido ao uso do método ToUpper().

 

private void textBox1_TextChanged(object sender, EventArgs e)

{

    label1.Text = textBox1.Text.ToUpper();

}

 

Veja a execução do projeto e note que o texto Microsoft Academy do textBox1 está mostrado no label1 em maiúsculo.

 

 

 

 

Herança Visual de Formulário

Nas aplicações Desktop quando se tem diversos formulários parecidos é comum o uso do recurso chamado de herança visual. Como o próprio nome diz, todo e qualquer controle existente pode ser herdado. Mas serão apenas os controles? Não, todos os códigos nos eventos também são herdados. No Solution Explorer adicione um novo formulário com template Windows Forms e Inherited Form.

 

 

 

O Visual Studio irá abrir uma janela contendo todos os formulários existentes. Então, basta selecionar o formulário que será a base do novo.

 

 

Veja o resultado do novo formulário herdando todos os controles. Em seguida, adicione os controles que desejar conforme o caso. Note que há um símbolo no canto superior esquerdo de cada controle herdado, diferenciando dos adicionados no formulário atual.

 

 

 

Agora que temos os dois formulários Form1 e Form2 respectivamente, retorne ao Form1 e adicione o seguinte código no button2. Este código irá abrir o Form2, sendo que a declaração instancia o Form2 e usa o método Show para mostrar o formulário.

 

private void button2_Click(object sender, EventArgs e)

{

    Form2 frm = new Form2();

    frm.Show();

}

 

Veja que na execução, ao clicar no button2 é aberto o Form2. E no Form2, ao clicar no mesmo button2 é aberto um novo Form2. Enfim, herança visual é um recurso bastante utilizado nas aplicações desktop que pode tornar o desenvolvimento bem produtivo.

 

 

 

 

Sobre o Autor

Renato Haddad (rehaddad@msn.com  – www.renatohaddad.com ) é MVP, MCT, MCPD e MCTS, palestrante em eventos da Microsoft em diversos países, ministra treinamentos focados em produtividade com o VS.NET 2010, ASP.NET 4, Entity Framework, Reporting Services e Windows Phone. Visite o blog https://weblogs.asp.net/renatohaddad.