Olá pessoal, hoje irei explicar como chamar um formulário, a partir de outro formulário.
Vamos então criar um novo projeto.
Clique em File -> News -> Projects
No painel Project types, vamos escolher a opção Visual C# e no painél templates, vamos escolher Windows Forms Application.
Na caixa de texto Name, vamos colocar o seguinte nome: AplicacaoChamadaDeFormularios.
Após dar o nome ao nosso projeto, vamos clicar em ok.
Será exibido o formulário. Nesse formulário vamos inserir um componente button e na propriedade Text, vamos colocar Chamar tela 2.
Agora, dê um duplo clique no botão Chamar tela 2.
Vamos inserir o seguinte código na linha em que o cursor estará, no evento Click do botão:
Form2 newForm2 = new Form2();
newForm2.ShowDialog();
A primeira linha, vai fazer a instância do formulário.
A segunda linha vai fazer a chamada do formulário.
Sua classe deverá ficar parecida com essa:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace AplicacaoChamadaDeFormularios
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Form2 newForm2 = new Form2();
newForm2.ShowDialog();
}
}
}
Agora vamos criar um novo formulário. Para isso, vamos até a paleta Solution Explorer e clicar com o botão direito em cima do projeto. Vá em Add - > Windows Form. Com isso, estaremos adicionando um novo formulário ao nosso projeto.
Será sugerido o nome Form2.cs. Pode deixar esse mesmo nome. Clique em Add.
Será exibido o Form2. Coloque novamente um componente button e um componente label. Na propriedade text do label coloque "Fui chamado do Form1" e na propriedade Text do botão, digite "Fechar".
Dê um duplo clique no botão Fechar e insira o seguinte código no evento click:
private void button1_Click(object sender, EventArgs e)
{
Application.Exit();
}
Seu método ficará dessa maneira.
E sua classe deverá ficar semelhante a essa:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace AplicacaoChamadaDeFormularios
{
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
private void label1_Click(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
Application.Exit();
}
}
}
Para rodar nossa aplicação, basta apertar o botão F5.
Ao clicar no botão da interface 1 será chamada a interface 2 e ao clicar no botão da interface 2, nossa aplicação será fechada.
Abraços e até a próxima!