VB .NET -
Curso Prático ADO .NET - Desenvolvendo uma aplicação :
Desenhando a Interface - VIII
Vamos iniciar efetivamente a construção do nosso projeto e neste momento é bom termos uma visão clara do que vamos fazer :
Neste momento eu quero deixar claro que eu vou criar todo o código nos formulários usando os eventos dos controles dos formulários conforme a grande maioria dos iniciantes costumam fazer. Isso não é recomendado mas é assim que a maioria começa. Teremos assim a utilização de um antipadrão. (A justificativa para este tratamento é que estamos no nível mais básico e assim todos poderão acompanhar o curso.)
Um anti-pattern ou antipadrão, como o próprio significado do termo sugere, significa algo contrário ao padrão. Seria isso mesmo ???
Em engenharia de software, um antipadrão é uma solução semelhante a um padrão de projeto (Design Pattern) só que sua aplicação produz conseqüências negativas.
Assim um antipadrão é uma solução pois resolve um problema só que de uma forma ineficiente.
O problema com os antipadrões e que eles muitas vezes estão documentados e são usados como se fossem a solução para determinados tipos de problemas mas que acabam acarretando problemas maiores.
O estilo de desenvolver colocando o código nos formulários acaba usando diversos antipadrões e não realiza a separação da responsabilidades produzindo um código difícil de manter, estender e reutilizar.
Numa segunda etapa irei mostrar como podemos aplicar padrões de projetos ao nosso projeto para produzir um software mais robusto.
Criando o projeto
Abra o Visual Studio 2012 Express for desktop e clique em New Project;
A seguir selecione o template Visual Studio Solutions -> Blank Solution e informe o nome CiaFilmes e clique no botão OK;
![]() |
Dessa forma criaremos uma solução vazia com o nome CiaFilmes à qual iremos incluir o projeto Windows Forms.
No menu FILE clique em Add -> New Project e selecione o template Visual Basic -> Windows Forms Application, informe o nome CiaFilmesWin e clique em OK;
![]() |
Neste momento na janela Solution Explorer você verá a solução CiaFilmes e o projeto CiaFIlmesWin contendo o formulário form1.vb e o arquivo App.Config;
![]() |
Vamos desenvolver o módulo Cliente criando os formulários deste módulo e nesta etapa você vai aprender a usar os controles básicos do VB .NET com suas propriedades. Conforme mostrado na primeira parte do curso o módulo Cliente possui os seguintes formulários:
O formulário de login é o primeiro formulário a ser exibido quando a aplicação for executada e permite que os clientes possam consultar e realizar pedidos para filmes. Este formulário permite também registrar um cliente definindo o seu login e código de identidade (ID).
Vamos iniciar como formulário de login - frmLogin. Clique com o botão direito sobre o formulário form1.vb e no menu suspenso selecione Rename e altere o nome deste formulário para frmLogin.vb:
A seguir clique duas vezes sobre este formulário para abri-lo no IDE:
Abaixo vemos a figura do formulário aberto no IDE do Visual Studio onde podemos identificar os seguintes recursos:
![]() |
1- janela Solution
Explorer - Exibe a solução, o projeto e os
seus arquivos
2- Janela
de propriedades - Exibe as propriedades do
controle selecionado. 3- ToolBox - Janela que exibe os controles agrupados por funcionalidade
A posição das janelas pode
variar visto que você pode mudar o posicionamento |
Dessa forma para alterar a propriedade de um controle basta selecionar o controle e na janela de propriedades digitar o valor da propriedade.
Para o formulário de login alteramos a propriedade Text para Login. Podemos alterar a cor de fundo usando a propriedade BackColor, alterar a fonte usando a propriedade Font, etc.
As propriedades Name e Text são muito usados em todos os controles. Usamos Name para dar um nome que identifica o controle e Text para definir um texto, título ou legenda ao controle quando pertinente.
Para incluir novos controles no formulário basta expandir o grupo do controle, selecionar o controle, e arrastá-lo para o formulário posicionando-o no local desejado.
Para alinhar o posicionamento e formatar você pode usar as opções do menu FORMAT:
![]() |
A seguir temos a Toolbox ou caixa de ferramentas onde temos os controles disponíveis:
![]() |
A guia
Common
Controls agrupa os principais controles usados
dentre eles temos:
|
Criando o formulário de Login
O formulário de login será o primeiro (ou o segundo formulário se tivermos uma tela de inicial de apresentação) a ser exibido. A seguir vemos o formulário de login frmLogin exibindo seu leiaute e os controles usados:
![]() |
Para incluir um novo formulário no projeto você deve seguir os seguintes passos:
O formulário de login possui as seguintes propriedades:
Propriedade | valor |
BackColor | |
Name | frmLogin |
Text | Login |
Size | 541; 514 |
StartPosition | CenterScreen |
WindowState | Normal |
Para definir estas propriedades basta selecionar o formulário, pressionar F4 para exibir a janela de propriedades e localizar a propriedade e definir o seu valor. Esse procedimento vale para todos os controles.
Neste formulário temos os seguintes controles definidos com suas respectivas propriedades principais:
|
|
Eu não estou atribuindo novos valores a propriedade Name dos controles Labels por questão de simplicidade estou alterando somente a propriedade Text das Labels assim cada Label utilizada possuirá o nome padrão atribuído pelo Visual Studio.
O formulário frmLogin pertence ao módulo Cliente e permite que um cliente cadastrado faça o login informando o seu login e senha. Para um novo cliente existe a opção de realizar o registro ou prosseguir para a pesquisa de filmes. Cada uma dessas opções abrirá um novo formulário que iremos criar a seguir.
Criando o formulário de Pesquisas
Se o usuário for um cliente cadastrado e informar suas credenciais e clicar no botão de comando Submeter, será apresentado o formulário de pesquisas - frmPesquisas.vb.
O formulário de pesquisas também será apresentado se o usuário não for um cliente cadastrado e clicar no botão Prosseguir.
O formulário de pesquisas possui o seguinte leiaute:
![]() |
Para incluir o formulário no projeto faça o seguinte:
O formulário de pesquisas possui as seguintes propriedades:
Propriedade | valor |
BackColor | |
Name | frmPesquisas |
Text | Pesquisar |
Size | 558; 481 |
StartPosition | CenterScreen |
WindowState | Normal |
A seguir temos controles definidos com suas respectivas propriedades principais no formulário de pesquisas:
|
|
Na propriedade Columns do controle ListView - lvResultadoPesquisa - vamos definir 5 colunas usando o Collection Editor.
Para isso basta clicar no botão Add e alterar o valor da propriedade Text conforme abaixo:
![]() |
|
Criando o formulário de Registros
O formulário de registros - frmRegistros - permite que um novo cliente seja cadastrado. Vemos abaixo o leiaute desse formulário:
![]() |
Para incluir o formulário no projeto faça o seguinte:
O formulário de registros possui as seguintes propriedades:
Propriedade | Valor |
BackColor | |
Name | frmRegistros |
Text | Registrar Cliente |
Size | 520; 505 |
StartPosition | CenterScreen |
WindowState | Normal |
KeyPreview | True |
Os controles definidos neste formulário e suas propriedades são descritas a seguir:
|
Uma propriedade importante
dos controles TextBox que obtém ou define a ordem de tabulação do controle dentro de seu recipiente é a propriedade TabIndex
É importante definir para cada
controle a propriedade TabIndex com
valores sequencias e crescentes Para que o controle seja colocado na ordem de tabulação, sua propriedade de TabStop deve ser definida como true. Caso contrário ele não entrará na ordem de tabulação para receber o foco se for caso. No controle cboEstados vamos incluir na propriedade Items as siglas dos estados brasileiros visto que essa informação não deve mudar tão facilmente.
|
Para visualizar a ordem de tabulação dos controles em formulário acesse o menu VIEW e clique em Tab Order:
![]() |
No formulário acima quando o usuário desejar navegar de uma caixa de texto para outra ele deverá acionar a tecla TAB, esse é o comportamento padrão. Podemos alterar esse comportamento de forma que ao teclar ENTER e não TAB ocorre a mudança para outro controle. Para fazer isso temos que definir a propriedade KeyPreview do formulário frmRegistros como igual a True e a seguir incluir o código abaixo no evento KeyPress do formulário:
Private Sub frmRegistros_KeyPress(sender As Object, e As KeyPressEventArgs) Handles MyBase.KeyPress If Asc(e.KeyChar) = 13 Then SendKeys.Send("{TAB}") End If End Sub |
Dessa forma quando o usuário teclar ENTER para mudar para outro controle a tecla TAB será acionada para mudar o foco sendo seguida a ordem definida pela propriedade TabIndex.
O botão Submeter é utilizado pelo usuário para enviar as informações para o banco de dados, já o botão Limpar reseta todos os controles TextBox do formulário deixando-os vazios enquanto que o botão Cancelar fecha o formulário e cancela a operação de registro em andamento.
Criando o formulário de Pedidos
O formulário de pedidos - frmPedidos - permite realizar pedidos de filmes selecionados. Quando o cliente seleciona um filme no formulário Pesquisar - frmPesquisas - o formulário de pedidos exibe o formulário para realizar o pedido.
Abaixo vemos o leiaute do formulário de Pedidos:
![]() |
Para incluir o formulário no projeto faça o seguinte:
O formulário de pedidos possui as seguintes propriedades:
Propriedade | valor |
BackColor | |
Name | frmPedidos |
Text | Fazer Pedido |
Size | 608; 531 |
StartPosition | CenterScreen |
WindowState | Normal |
Abaixo temos controles definidos com suas respectivas propriedades principais no formulário de pedidos:
|
Na propriedade Columns do controle ListView - lvPedidos - vamos definir 6 colunas usando o Collection Editor.
Para isso basta clicar no botão Add e alterar o valor da propriedade Text conforme abaixo:
![]() |
|
Temos assim os 4 formulários principais do nosso projeto criados no Visual Studio 2012 Express for desktop. Examinando a janela Solution Explorer deveremos visualizar os seguintes objetos:
![]() |
Vamos examinar as propriedades do nosso projeto. No menu PROJECT clique em CiaFilmesWin Properties... ou pressione ALT+F7;
A janela de propriedades do projeto deverá ser exibida conforme figura abaixo:
![]() |
Vou destacar apenas as propriedades principais das guias Application e Compile.
Na guia Application vemos as principais propriedades da aplicação:
Neste último item basta incluirmos um novo formulário no projeto com as configurações apropriadas e atribuir nesta opção e pronto ao executar a aplicação o formulário será apresentando como a tela inicial ou splash screen.(faremos isso mais a frente)
Usamos a guia Compile para especificar instruções de compilação. Nesta guia temos as seguintes propriedades:
![]() |
Concluímos aqui essa etapa onde apresentamos os formulários principais usados no projeto bem como os controles usados na sua construção. Na sequência iremos montar o fluxo de funcionamento da aplicação e a estratégia para definição do código no evento dos controles dos formulários.
Referências:
Super DVD Vídeo Aulas - Vídeo Aula sobre VB .NET, ASP .NET e C#