Clique aqui para ler esse artigo em PDF.
Clique aqui para ler todos os artigos desta edição
Boa Idéia
Reutilização de interfaces com Inherited Forms e Master Pages
Este artigo discute |
Este artigo usa as seguintes tecnologias |
·Herança Visual no Windows Forms; ·Master Pages; ·DataSet tipado; ·EventHandlers. |
Visual Studio 2005, ASP.NET 2.0, ASP.NET Ajax, Windows Forms e C#. |
Sabe aqueles sistemas que possuem dezenas de telas de cadastro? Onde todas as telas possuem características semelhantes? Antes de iniciar o desenvolvimento de sistemas desse tipo é comum criarmos algum artifício para a reutilização das interfaces, como templates.
Isso ajuda a reduzir o tempo de desenvolvimento do sistema e também garante a padronização das telas. Veremos neste artigo o que o .NET oferece para a criação desses “templates”, tanto para aplicações Windows Forms quanto para aplicações Web.
Northwind
Para os exemplos vamos precisar de um banco, assim poderemos conferir nossas telas em um ambiente real. Para não desenvolvermos um novo banco, vamos utilizar o famoso Northwind que a Microsoft disponibiliza para testes. Neste artigo utilizaremos o Northwind
Onde encontrar o Northwind?
A Microsoft disponibiliza o download do Northwind para SQL Server, no endereço:
www.microsoft.com/downloads/details.aspx?FamilyID=06616212-0356-46A0-8DA2-EEBC53A68034&displaylang=en
Nova solução
Como neste artigo veremos exemplos tanto
Na janela que abrir, como mostra a Figura 1, selecione o item Other Project Types>Visual Studio Solutions, marque o template Blank Solution, informe “TelaBase” em Name e clique em OK. Nessa solução, no decorrer do artigo, criaremos os projetos necessários para a implementação dos exemplos.
Figura 1. Criando uma nova solução vazia
DataSets Tipados e TableAdapters
Para quem ainda não conhece, o ADO.NET na versão 2.0, possui um novo recurso chamado TableAdapter. Um TableAdapter é gerado junto com um DataTable quando criamos um DataSet Tipado. Utilizaremos um DataSet Tipado com TableAdapter, pois com esses recursos não precisaremos criar nenhuma rotina de acesso e persistência de dados no banco, o TableAdapter será criado com essas rotinas para nós.
Vamos começar criando um projeto Class Library onde modelaremos o DataSet. Clique com o botão direito sobre a Solution e escolha a opção Add>New Project. No item Visual C#, escolha o template Windows>Class Library e informe “TelaBaseLibrary” em Name. Para finalizar, clique em OK.
Ainda no Solution Explorer clique com o botão direito sobre o projeto que acabamos de criar e escolha a opção Add>New Item. Escolha o template DataSet, informe “Northwind” em Name e clique em Add.
Crie uma nova conexão com o Northwind no Server Explorer. Expanda essa conexão até visualizar as tabelas do banco, e em seguida arraste para o DataSet a tabela Shippers. Veja na Figura 2 como deve ficar seu DataSet.
Figura 2. DataTable Shippers e TableAdapter ShippersTableAdapter
Escolhemos a tabela Shippers por ser uma tabela bem simples e servirá perfeitamente para realizarmos nossos exemplos. Com a criação desse DataSet já temos todas as classes de acesso e persistência de dados que necessitamos. Clique com o botão direito sobre o projeto ClassLibrary e compile-o escolhendo a opção Build.
Herança de formulários
Como sabemos qualquer linguagem Orientada a Objetos permite a herança de classes, mas indo um pouco mais além, o .NET possui uma funcionalidade muito interessante para aplicações feitas para Windows, a chamada Herança de Formulários. Herdar um formulário no .NET não consiste apenas em herdar seus métodos, propriedades etc., nos formulários também temos a herança visual.
Na prática teremos uma visão melhor do que é isso. Vamos começar criando um projeto Windows Application. No Solution Explorer, clique com o botão direito sobre a solução e escolha a opção Add>New Project. No item Visual C#, escolha o template Windows>Windows Application, informe “TelaBaseWindows” em Name e clique em OK.
Veja que o projeto foi criado e temos um formulário chamado Form1.cs. Vamos apenas fechá-lo. Em seguida clique com o botão direito sobre o projeto e escolha a opção Add>Windows Form. Informe “CadastroBase.cs” em Name e clique em Add. Agora temos um formulário criado com um nome da nossa escolha. Vamos desenhar sua interface como mostra a Figura 3.
Figura 3. Interface do formulário CadastroBase.cs
Observe que essa é uma interface bem simples, onde utilizamos apenas controles usados " [...] continue lendo...