Nesse artigo estarei mostrando como criar um Form MDI ou MDI Form e um Menu no Visual Basic.NET.

Para aqueles que não sabem um Form MDI é um formulário que pode mostrar vários outros formulários dentro dele, esses formulários também são conhecidos como formulários filho. Podemos dizer que um Form MDI é nosso form principal.

Para criarmos um Form MDI, basta configurarmos a propriedade IsMdiContainer como True e deixarmos nos Form que vão aparecer dentro dele a propriedade IsMdiCotainer como False.

Para podermos ter uma noção melhor vou ensinar a fazer um Menu no Form MDI para chamarmos outros Form.

Para isso vamos usar um novo projeto do Visual Basic.NET e usaremos o Template Windows Application, no meu caso chamei ele de Form MDI.

Agora para definirmos esse Form como MDI vamos na Propriedade dele chamada IsMdiContainer e vamos defini-lá como True.

Para que a tela do MDI pegue a tela toda do monitor vou definir a propriedade WindowState como Maximized.

Criando o Menu no Form MDI

Primeiro temos que incluir um componente MainMenu no formulário MDI, ele é como se fosse a opção Menu Editor do Visual Basic e crie um menu de opções:

Para criar esse Menu basta clicar em Type Here com o botão esquerdo do mouse e clicar na opção insert New.

Obs.: Depois disso feito para cada opção criada no Menu você tem que ir na propriedade Text de cada um dele e informar o texto que vai aparecer. Exemplo tem no menu a opção “Sair” você tem que escrever Sair na Propriedade Text da opção Sair.

Agora vamos colocar os menus para funcionar vou começar pelas opções mais fáceis:

1. Opção Sair, damos um duplo clique nela e colocamos o seguinte código:

Private Sub Sair_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Sair.Click
End 'Sai do form
End Sub

2. Vamos agora as opções do Menu Janela:

Janela lado a lado - Horizontal, vamos usar o seguinte código:

Private Sub Horizontal_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Horizontal.Click
Me.LayoutMdi(MdiLayout.TileHorizontal) 'Coloca as janelas abertas alinhadas horizontalmente
End Sub

Janela lado a lado - Vertical, vamos usar o seguinte código:

Private Sub Vertical_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Vertical.Click
Me.LayoutMdi(MdiLayout.TileVertical) 'Coloca as janelas abertas alinhadas verticalmente
End Sub

Cascata, vamos usar o seguinte código:

Private Sub Cascata_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cascata.Click
Me.LayoutMdi(MdiLayout.Cascade) 'Coloca as janelas abertas alinhadas em cascata
End Sub

3. Vamos Criar os códigos do Menu Arquivo, que vão chamar os formulários filhos. Mas antes disso vamos criar quatro formulários; Incluir, Alterar, Excluir e Consultar.

Para criarmos novos forms vamos em Add New Item e clicamos na opção Add windows Form. OBS: Salve os Forms como Incluir.vb, Alterar.vb, Excluir.vb e Consultar.vb.

Agora nesses quatro forms vamos mudar as seguintes propriedades em todos eles:

IsMdiCotainer colocamos como False
WindowState colocamos como Maximized

E para terminarmos vamos colocar para funcionar as opções Incluir, Excluir, Alterar e Consultar, chamando esses form criados para dentro do Form MDI.

Para isso vamos dar um duplo clique em Incluir e colocar a seguinte linha de código:

Private Sub Incluir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Incluir.Click

'Declaração da variável Incluir (nome do form que vai ser chamado)
Dim Incluir As New Incluir

Incluir.MdiParent = Me 'Permite que o Form Filho seja aberto dentro do Form MDI

Incluir.Show() 'Chama o Form Incluir, lembrar de declarar o form
End Sub

Agora vamos chamar o Form Excluir, usando as seguintes linhas de código:

Private Sub Excluir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Excluir.Click
'Declaração da variável Excluir (nome do form que vai ser chamado)
Dim Excluir As New Excluir

Excluir.MdiParent = Me 'Permite que o Form Filho seja aberto dentro do Form MDI

Excluir.Show() 'Chama o Form Excluir, lembrar de declarar o form

End Sub

Agora vamos chamar o Form Alterar, usando as seguintes linhas de código:

Private Sub Alterar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Alterar.Click
'Declaração da variável Alterar (nome do form que vai ser chamado)
Dim Alterar As New Alterar

Alterar.MdiParent = Me 'Permite que o Form Filho seja aberto dentro do Form MDI

Alterar.Show() 'Chama o Form Alterar, lembrar de declarar o form

End Sub

E para finalizarmos vamos chamar o Form Consultar, usando as seguintes linhas de código:

Private Sub Consultar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Consultar.Click
'Declaração da variável Consultar (nome do form que vai ser chamado)
Dim Consultar As New Consultar

Consultar.MdiParent = Me 'Permite que o Form Filho seja aberto dentro do Form MDI

Consultar.Show() 'Chama o Form Consultar, lembrar de declarar o form

End Sub

Pronto terminamos mais um artigo, estou disponibilizando todo esse nosso projeto para download no site e em breve vamos aproveitar ele para fazermos nossa agenda.