P>

capa_NET40_G.gif

Clique aqui para ler todos os artigos desta edição

Windows Forms

Formulários MDI com fundo personalizado

 

 

Este artigo discute

Este artigo usa as seguintes tecnologias

·       Formulários MDI;

·       Criação de classes;

·       Herança de classes;

·       Efeito gradiente em formulário MDI.

Visual Studio 2005, Windows Forms, e C#.

 

Muitos desenvolvedores não gostam de criar aplicações que contenham formulário do tipo MDI (Multiple Document Interface), por não suportarem o tradicional fundo cinza. Felizmente no .NET podemos personalizar facilmente o fundo do MDI.

Inicialmente, imagina-se que será somente sobrescrever o evento Paint do formulário e estaria tudo bem, porém o funcionamento de um MDI é diferente, seu fundo não é visível. O fundo cinza que vemos no MDI é um container para formulários filhos do MDI, em outras palavras, é um MDIClient.

Quando um formulário do tipo MDIChild é criado, esse é aberto como um MDIClient e é exibido naquela área cinza. Então, se seu objetivo é mudar o background do MDIParent, esse controle que deverá ser alterado.

Sabendo que MDIClient é um controle, e esse está contido no formulário, então, efetuando uma varredura na coleção de controles do formulário, esse será encontrado e cria-se uma nova assinatura para o Paint.

Iniciando o projeto exemplo

Abra o Visual Studio 2005 e crie um novo projeto do tipo Windows Application, através do menu File>New>Project. Em Project Type selecione Visual C# e em Templates escolha Windows Application. Em Name digite “MDIGradient” (Figura 1).

 

image004.jpg

Figura 1. Criação do projeto MDIGradient

Classe base

 Para a construção da classe base (que será responsável por alterar a cor de fundo), criarei uma classe que herda de System.Windows.Forms.Form. No Solution Explorer clique com o botão direito no projeto e adicione um novo item, através do menu Add>New Item. Na janela, selecione o item Code File (Figura 2), dando o nome de “clsFormBase.cs”.

 

image006.jpg

Figura 2. ...

Quer ler esse conteúdo completo? Tenha acesso completo