Chamar uma form dentro de outra CSharp

05/10/2019

24

Olá pessoa.
Estou criando um projeto que está setado da seguinte forma:
Um painel de menu do lado esquerdo com 7 botões:
Menu principal
Clientes
Propostas...;
E o restante da área será onde ficará o conteúdo da pagina.

A minha dúvida é: Cada botão do menu está setado com uma form. Eu consigo chamar um form para aparecer dentro dessa área de conteúdo?
Sei que está complicado de entender mas resumidamente é: se eu estou no menu principal e clicar em clientes, pelo padrão ele irá abrir o form de clientes, porém o que eu quero é que ao clicar em clientes, não abrir outro form, mas abrir o conteúdo de clientes na área de conteudo.
Responder

Post mais votado

07/10/2019

Iaew cara, você quer abrir um form dentro do form principal certo ? já fiz isso uma vez, no exemplo abaixo está em vb, para o c# é quase igual.

Formulário MDI

http://www.macoratti.net/09/08/c_mdi1.htm
Responder

Mais Posts

08/10/2019

Lourenço Lima

Olá,

O que foi sugerido pelo Bruno Pardim é uma solução viável.
No entanto, você pode colocar um formulário dentro do outro sem o uso do Formulário MDI, utilizando 2 Windows Forms na mesma solução.
Dentro da ação de clique de um botão do Form1, por exemplo, você pode adicionar o seguinte código:
Form2 tela = new Form2();
// Cria um objeto do Form2, chamado tela
tela.Show();
// Abre o objeto tela (Form2).

Dessa maneira, abrirá o Form2. Daí é possível você posicionar por meio do tamanho das telas e da propriedade (WindowsState).

Espero ter ajudado!
Responder

21/11/2020

Daniel

Na parte Visual Faça:

1°. No formulário principal, vá nas Propriedades e procure por "IsMdiContainer" e troque seu valor para "true";
2°. Crie um "MenuStrip" no formulário principal e crie seus sub-itens "ToolStripMenuItem", para abrir os formulários secundários;
3°. Clique 2x no menu-item para ir para o código:

No código:

private void btnAbrirFormularioSecudario_Click(object sender, EventArgs e)
{
       var f = new formSecundario(); 
       f.MdiParent = this; 
       f.Show();
}
Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários. Para saber mais sobre o uso de cookies,
consulte nossa política de privacidade. Ao continuar navegando em nosso site, você concorda com a nossa política.

Aceitar