P>

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).

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”.

Figura 2. ...