Alura > Cursos de Programação > Cursos de .NET > Conteúdos de .NET > Primeiras aulas do curso Windows Forms com C#: Formulários, componentes e eventos

Windows Forms com C#: Formulários, componentes e eventos

Primeiro projeto Windows Forms - Apresentação ao curso

Oi pessoal, tudo bem? Meu nome é Victorino Vila e eu serei o instrutor desse treinamento de Windows Forms com C#: Formulários, componentes e eventos da Alura. Quando falamos de C#, sempre vem na cabeça desenvolvimento Web, criar aplicações em Browser, Web Services, até mesmo fazer aplicações em telefones celulares.

Tudo associado a plataforma .NET. Só que nós esquecemos de uma coisa muito importante: grande parte das aplicações hoje, e ainda será assim no futuro, são as aplicações Desktop. Aplicações que estão instaladas na máquina do usuário, usando o sistema operacional do usuário.

São os clientes das aplicações de bancos de dados. São, por exemplo: os antivírus, as aplicações de desenho, coisas que o usuário tem que baixar e instalar na sua máquina. Quando falamos da programação de aplicações no Desktop, estamos falando de um paradigma complemente diferente de quando eu desenvolvo algo na Web.

Isso porque se eu estou na máquina do usuário, eu tenho na minha mão o hardware todo a disposição e eu consigo jogar com os estados dos eventos na memória de maneira muito mais fácil e muito mais eficiente do que se eu estivesse na Web.

E a qualidade das aplicações, a agilidade das aplicações e a parte visual das aplicações, ficam muito mais profissionais, muito mais de fáceis de usar do que se eu estivesse usando um Browser. Nós podemos desenvolver aplicações em Windows Desktop usando o Visual Studio .NET e usando também C#.

O que nós vamos ver nesse treinamento é o desenvolvimento de aplicações Windows Forms. Quando falamos de Windows Forms, estamos falando de aplicações para o Desktop. Nós vamos dar esse primeiro curso, que vai ser o primeiro contato que você vai ter no desenvolvimento de aplicações Windows Forms usando o C#.

E por que eu estou enfatizando o “usando C#”? Porque eu poderia usar outra linguagem de programação compatível com .NET para desenvolver aplicações Windows Forms. Outro exemplo é o desenvolvimento de aplicações Windows Forms usando o VB .NET. Inclusive, nós temos um curso desse tipo na Alura. Mas aqui o nosso foco vai ser Windows Forms com C#.

Eu vou considerar que você, aluno, já conhece C#. Você não precisa ser um expert em C#. Durante as codificações do C#, eu não explicarei um pouco sobre o que é a linguagem de programação C#. Por isso, se você não tem nenhuma noção de C#, eu aconselho que você primeiro faça um treinamento para ter uma noção de como funciona essa linguagem, para depois trabalhar aqui nesse treinamento usando Windows Forms com C#.

Se você já conhece C# e tem experiência do uso do C# no desenvolvimento de aplicações Web, agora sim, você está apto a trabalhar conosco! Tudo bem que você vai aprender um outro jeito de construção, um outro jeito de interação entre os componentes da tela e o processo do computador, já que eu estou no ambiente Desktop.

Então é isso, pessoal! Espero que vocês gostem desse treinamento. Vamos seguir em frente! Um abraço. Tchau!

Primeiro projeto Windows Forms - Instalando o Visual Studio

Nesse vídeo eu vou mostrar para vocês como nós baixamos e instalamos o Visual Studio para fazermos o curso de Windows Forms. Mas o vídeo que vocês vão ver daqui para frente é genérico, ele é usado tanto para instalar o ambiente no curso de Windows Forms, quanto no curso de Windows Presentation Foundation.

Claro que o foco desse treinamento é o Windows Forms não é WPF. Mas tanto WPF, quanto Windows Forms, são duas maneiras diferentes que você tem, dentro do .NET, para construir aplicações em Desktop. Elas possuem formas diferentes e resultados diferentes, mas o objetivo final das duas é construir aplicações em Desktop.

Então como eu falei, o nosso treinamento é Windows Forms, mas o vídeo que vocês vão ver daqui para frente serve tanto para instalar o Visual Studio para o curso de Windows Forms, quanto para o curso de WPF. Então vou rodar o vídeo da instalação. Para esse treinamento, seja o de Windows Forms ou o de WPF, nós precisamos instalar o Visual Studio, é através do Visual Studio que nós vamos fazer todos os nossos exercícios práticos.

Atenção! Se você já tem o Visual Studio, primeiro, não importa qual versão você tem. Se você tiver uma versão mais antiga do Visual Studio, vai funcionar perfeitamente os exemplos que eu vou mostrar. Apenas dois detalhes.

Primeiro: claro que os menus, a disposição das funções na tela, podem mudar, porque eu usarei a versão 2019 do Visual Studio. Segundo: é claro, quando instalamos o Visual Studio na nossa máquina, precisamos especificar que módulos do Visual Studio você vai trabalhar.

Então você precisa ter o módulo do Windows Forms e o módulo do WPF. Se você está fazendo curso de Windows Forms, é o primeiro. Se estiver fazendo o curso de WPF, é o segundo. Você pode adicionar esses módulos ao Visual Studio que você tem, mas eu aconselho a você fazer a instalação do 2019 conforme os passos que eu vou mostrar daqui para frente. Por que isso? Porque não tem nenhum problema você ter vários Visuais Studios dentro da sua máquina.

O fato de você baixar o Visual Studio 2019 tendo outra versão na sua máquina, não vai prejudicar os seus projetos antigos. Então eu vou começar indo no Browser e eu vou buscar o “Visual Studio Download”. Até deu aqui um “Visual Studio Download 2019”. Vou clicar. Temos aqui “Baixar o Visual Studio” e ele me mostra três versões. Nós temos a “Community 2019”, a “Professional 2019” e a “Enterprise 2019”. Nós vamos usar a “Community 2019” porque ela é para estudos, para testes.

A “Professional 2019” e a “Enterprise 2019” exigem uma subscrição, um pagamento mensal ou anual para você ter esse software. Vou clicar em “Community 2019”. Ele começou aqui embaixo a instalar o aplicativo de instalação e agora eu vou executá-lo.

Vou concordar e ele vai começar a baixar o Visual Studio Installer, que é o software que permite você instalar ou acrescentar coisas novas ao seu Visual Studio. Então eu vou fazer o seguinte: eu vou dar um “pause” no vídeo enquanto está baixando e quando terminar de baixar e instalar o Installer eu volto.

Tenho essa tela aqui. Ele me mostra todos os grupos de componentes que eu posso instalar no meu Visual Studio. Então eu tenho aqui inicialmente ASP.NET e desenvolvimento Web, Desenvolvimento para Azure, Desenvolvimento Python, Desenvolvimento em node.js. Eu vou arrastar para baixo e nós vamos escolher esses dois módulos.

O primeiro: “Desenvolvimento para Desktop com .NET” e o segundo, “Desenvolvimento com a Plataforma Universal Windows”. Vamos ver se tem mais alguma coisa interessante. Não! Por enquanto é só isso.

O Visual Studio Installer vai ficar instalado na sua máquina. Então se depois você quiser adicionar novos componentes, basta você executar o Installer que você pode vir aqui e escolher isso que ele chama de “Cargas de trabalho”, ou até mesmo aqui, “Componentes Individuais”. Então, para o treinamento de Windows Forms ou WPF, são essas duas cargas de trabalho que nós vamos escolher.

E aqui embaixo eu vou clicar em “Instalar”. Ele vai começar a fazer o download e a instalação dos módulos que eu escolhi na tela anterior. Então, novamente eu vou parar o vídeo, vou esperar a minha máquina instalar tudo e eu volto quando estiver pronto.

Pronto! Terminamos a instalação. Eu tenho aqui uma caixa de diálogo onde ele me pergunta se eu quero entrar em uma área onde eu vou criar um usuário e senha para estarem associados à minha conta Microsoft. Se você já tem uma conta Microsoft, você pode usar ela aqui. Não tem nenhum problema.

Eu vou clicar aqui: “Agora não, talvez mais tarde.”. Ele vai me dar agora a forma de trabalhar, qual é a cor de frente e cor de fundo que vocês vão utilizar no Visual Studio. Utilizem a que vocês se sentirem mais à vontade. Eu gosto de trabalhar com o módulo escuro porque fica menos luminosidade na hora de nós programarmos. Porque como nós vamos ter que olhar muito para a tela, então se ficar uma coisa muito luminosa, cansa a vista. Então eu gosto do fundo escuro, mas fica a critério de vocês.

E Eu vou clicar no “Iniciar o Visual Studio”. Ele vai preparar alguns processos internos de quando abrimos o Visual Studio pela primeira vez. Temos essa tela, que é a tela do Visual Studio 2019. Nós estamos prontos para começar a trabalhar com a ferramenta.

Então, é isso! Muito obrigado. Até o próximo vídeo. Tchau, tchau!

Primeiro projeto Windows Forms - .NET Framework e Visual Studio

Vamos falar um pouco sobre o .NET e o .NET Framework. O .NET é uma estrutura de desenvolvimento que fornece uma nova interface de programação, tanto para aplicativos a serem executados nos sistemas operacionais clássicos do Windows, como também para você construir aplicações que serão executadas pelos seus Browsers. Normalmente aplicações essas associadas à Web, a internet ou a intranet da empresa. Todas essas aplicações vão ter suporte ao que chamamos de CTS.

O CTS seria “Common Type Specification”, que permite que você escolha a sintaxe de desenvolvimento na qual você se sente mais confortável. Inclusive, você pode desenvolver aplicações misturando essas linguagens. Você pode escrever, por exemplo, uma classe em C# e derivá-las em uma aplicação em .NET. Você pode lançar, por exemplo, uma exceção em um VB .NET e capturá-la em uma classe C#.

No ambiente .NET Framework a escolha da linguagem de programação acaba sendo uma preferência pessoal, e não um fator limitante no desenvolvimento do seu aplicativo. Claro que, quando nós escolhemos uma linguagem de programação para desenvolvimento no .NET Framework, algumas linguagens se adaptam melhor a determinados tipos de aplicativos. Porém, isso não é um requisito para que você escolha a linguagem “A” ou “B” para desenvolver a sua aplicação.

Quando nós instalamos, por exemplo, o Visual Studio no vídeo anterior, nós vimos uma série de listas de componentes que escolhemos para que fizessem parte do ambiente do Visual Studio. Ali é onde eu vou escolher, não somente as linguagens de programação, mas as classes que eu vou trabalhar no desenvolvimento do meu aplicativo, que vai depois rodar em um sistema operacional de minha escolha.

Então o .NET Framework acaba sendo uma camada que fica no topo do sistema operacional, que o sistema operacional pode ser qualquer versão do Windows e, inclusive, existem algumas verões de .NET Framework já para o ambiente Linux. Então o que você desenvolve acima dessa camada .NET Framework, não importa. O .NET Framework vai fazer uma tradução entre o que você desenvolveu e o sistema operacional.

E nessa camada interna, nós temos uma lista que é crescente de vários idiomas oficiais que suportam .NET, como, por exemplo: C#, VB.NET, JavaScript.NET e assim por diante. Dentro do .NET Framework, nós temos uma camada inicial no topo que chamamos de “Common Language Runtime”, que é uma plataforma orientada aos objetos e que está associada ao sistema operacional em que o .NET Framework está rodando. No caso do [SLIDE], estou dando uma ênfase a plataforma Windows.

E esse Common Language Runtime tem essas classes que servem tanto para desenvolvimento de aplicações em Windows, como desenvolvimento para aplicações Web, e todas essas classes em comum podem ser compartilhadas pela linguagem de programação que você escolheu.

Então, na verdade, o Common Language Runtime ou CLR vai executar o seu programa, vai ativar os objetos, executar verificações de segurança em seu código, colocar objetos em memória, executar esses objetos que estão em memória, fazer a coleta de lixo ou que chamamos de “Garbage collection” dentro da programação, que seria descarte de processos ou variáveis do seu programa que não são mais usadas pelo sistema operacional e assim por diante.

Então toda essa manipulação entre o que o seu programa quer fazer e o ambiente do sistema operacional é gerenciado pelo Common Language Runtime. Na camada superior, acima da Common Language Runtime, nós temos um conjunto de classes que começa por um conjunto de classes base da estrutura do .NET Framework seguido de uma camada adicional de dados e classes XML.

Além de outra camada acima de classes destinadas aos aplicativos, baseadas ou em Windows Forms, ou em Web Forms ou em Web Services. Todas essas três camadas coletivamente nós chamamos de FCL (Framework Class Library). Com milhares de classes já previamente implementadas, o FCL facilita o desenvolvimento rápido de aplicativos, seja eles para Desktop, ou seja para Web.

Dando uma ênfase ao conjunto de classes FCL, temos acima da Common Language Runtime, um conjunto de classes base que normalmente vai suportar, por exemplo, a entrada e saída de rudimentares de dados, manipulação de Strings, gerenciamento de segurança, comunicação de rede, gerenciamento de trades, manipulação de textos e outras atividades comuns dentro da programação estruturada.

Nós chamamos essa camada de Framework Base Classes, mas também chamamos mais facilmente de Classes Base do .NET Framework. Acima da Framework Base Classes, nós temos classes que suportam o gerenciamento, por exemplo, de base de dados e manipulação de XMLs.

Essas classes, também de acesso a banco de dados, suportam todos os acessos, por exemplo, que estão associados com o que chamamos de “ADO.NET”. Temos algumas classes, por exemplo, que são otimizadas especificamente para o banco Microsoft SQL Server e algumas são classes de banco de dados genéricas que interagem com os bancos compatíveis com a OLE DB.

O .NET Framework também oferece suporte às classes que nos permitem manipular dados em XML e executar, por exemplo, pesquisas de traduções de XML. Nós também podemos caracterizar nesse nível uma série de outras classes pagas, ou, por exemplo, livres, que você pode adicionar ao seu ambiente para fazer a manipulação.

Como, por exemplo: manipulação de objetos Jsons e outras estruturas a mais que vão surgindo na medida em que a tecnologia de desenvolvimento de software vai apresentando para o mercado novidades.

Indo além a essa camada de dados e de XML, nós temos uma camada com classes específicas para diferentes tecnologias de desenvolvimento, dando ênfase nesse [SLIDE] à Web Services, Web Forms e Windows Forms. Vamos falar um pouco de cada uma delas.

Vamos começar pelo Windows Forms. O Windows Forms permite que haja o desenvolvimento de aplicativos na área de trabalho do Windows; com interface de usuários, até certo ponto, bem mais sofisticadas do que interfaces, por exemplo, que estejam em Browsers.

Esses aplicativos Desktop podem interagir com outros computadores através, por exemplo, de rede local ou pela internet, através do uso de Web Services ou serviços da Web. Na parte de Web Forms nós conseguimos fazer o desenvolvimento de páginas e sites que são robustos e, inclusive, bem escalonáveis.

E na camada de Web Services, através do .NET Framework nós podemos desenvolver aplicativos que fornecem o que chamamos de “métodos pela internet”, ou seja, através de um endereço Web eu posso, por exemplo, usar métodos que em vez de estarem hospedados ou instalados na minha própria máquina, estão dentro de um endereço Web.

O nosso curso vai dar ênfase ao desenvolvimento em Windows Forms, que é o nome da tecnologia que a Microsoft deu ao desenvolvimento de aplicações em Desktop. Usando Windows Forms fica fácil criarmos aplicativos dinâmicos e que tenham acesso, por exemplo, ao banco de dados.

Utilizando uma série de conjuntos de classes já existentes dentro do Visual Studio .NET, a tecnologia Windows Forms nos permite que aplicarmos técnicas que nós chamamos de RAD (Rapid Application Development), na criação, é claro, de aplicativos Windows. Simplesmente usando RAD nós podemos arrastar e soltar os controles do nosso formulário. O que seria controles do nosso formulário? Seriam, por exemplo, botões, menus e caixas de seleção.

Então nós, através do processo de arrastar e soltar, conseguimos criar rapidamente o layout dos nossos formulários, sem precisarmos digitar uma linha de programação. Clicando duas vezes sobre o componente que foi montado dentro do nosso formulário, nós podemos escrever o código correspondente que está associado ao evento que vai ser realizado quando fizermos alguma coisa naquele componente que foi desenhado no nosso formulário.

E como nós estamos utilizando por detrás o .NET Framework, nós podemos utilizar qualquer linguagem de programação compatível com o .NET para programarmos a ação que vai ser feita naquele componente do nosso formulário. Então nós podemos usar qualquer linguagem que suporta CLS para fazermos isso.

Claro que, geralmente para aplicações Windows Forms, nós utilizamos na maioria das vezes o C# ou o VB .NET para isso. É claro que por causa disso, nesse curso nós vamos dar ênfase a fazermos os nossos exemplos em C#.

Por isso é importante que você tenha um conhecimento prévio de C#. Nós aqui não vamos tratar no nosso treinamento de ensinarmos a linguagem C#. Nós vamos falar dela somente quando formos lidar com alguma classe diferente e que está muito relacionada com o formulário que nós estamos montando no momento que formos construir as nossas aplicações em Windows Forms.

Mas, mesmo que você não conheça muito bem C# ou saiba apenas VB .NET, os exemplos que vamos mostrar aqui vão ser simples e com fácil entendimento. Mas eu aconselho, pessoalmente, que se você não sabe ou tem pouco conhecimento de C#, faça algum curso, aqui mesmo na Alura, de C# e de programação orientada ao objeto.

Quando nós estamos trabalhando com .NET Framework nós podemos desenvolver o nosso código usando um editor de texto qualquer. Principalmente porque os programas desenvolvidos em .NET podem ser passados para o .NET Framework através de um texto sem formatação prévia.

Então, por exemplo: eu posso usar o bloco de notas para desenvolver aplicações Windows Forms. Mas como eu falei, como o nosso objetivo é desenvolvermos uma aplicação usando o RAD, nós devemos fazer esse desenvolvimento usando o Visual Studio .NET, que vai oferecer grandes ganhos de produtividade no desenvolvimento da nossa aplicação.

Nós podemos, por exemplo, colocar como vantagens de usarmos o Visual Studio para desenvolvimento de uma aplicação Windows Forms, como eu já falei, o “arrastar e soltar”. Ou seja, eu consigo montar o meu formulário através de arrastar e soltar componentes já previamente construídos.

Nós temos o “IntelliSense” que nos ajuda na hora de fazer a programação do nosso código. Ele já te dá sugestões e preenche automaticamente alguns comandos. Também usando o Visual Studio .NET para desenvolvermos uma aplicação Windows Forms, nós temos como vantagem o uso do Debug integrado para podermos “debugar” o nosso programa, principalmente quando achamos um erro de compilação.

E também, ele já tem uma ferramenta chamada Visual SourceSafe, que nos ajuda a fazermos o controle do versionamento de fontes. Apesar de que hoje em dia as pessoas estão usando muito mais o GitHub para fazer essa integração de fontes. Inclusive, o próprio Visual Studio também já tem módulos integrados que nós podemos trabalhar automaticamente integrados com o GitHub quando nós estamos desenvolvendo uma aplicação dentro do Visual Studio.

Então isso era um pouco do que eu queria falar com vocês, não somente sobre o .NET Framework mas também sobre o Visual Studio. Obrigado, um abraço. Até o próximo vídeo!

Sobre o curso Windows Forms com C#: Formulários, componentes e eventos

O curso Windows Forms com C#: Formulários, componentes e eventos possui 280 minutos de vídeos, em um total de 72 atividades. Gostou? Conheça nossos outros cursos de .NET em Programação, ou leia nossos artigos de Programação.

Matricule-se e comece a estudar com a gente hoje! Conheça outros tópicos abordados durante o curso:

Aprenda .NET acessando integralmente esse e outros cursos, comece hoje!

Conheça os Planos para Empresas