Em aplicações Windows Forms, “vira-e-mexe” surge a necessidade de se transferir algumas informações entre as janelas do sistema. Pensando nisso, vamos apresentar algumas formas de como se proceder nesta ocasião.
Abra o Visual Studio e crie um novo projeto (File > New > Project) do tipo Windows Forms Application em linguagem C#.
De forma padrão e automática, o VS cria um formulário denominado Form1. Além dele, precisamos de mais uma janela para utilizar como exemplo. Clique no menu Project > Add Windows Form e em seguida clique no botão Add para criar o outro Form.
Começando pelo Form1, acrescente dois controles da guia Common Controls (da Toolbox), um Button e um TextBox. Eles serão utilizados para informar um texto, e em seguida transferir para o Form2.
Seguindo o mesmo raciocínio, inclua um controle TextBox no Form2 para receber o valor do Form1.
Dê um duplo-clique sobre o Form2 para acessarmos o editor de código fonte e escreva a listagem a seguir:
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
public Form2(string valor)
{
InitializeComponent();
textBox1.Text = valor;
}
}
O código acima possui dois métodos contrutores, um foi gerado automaticamente, e o outro foi escrito para complementar o primeiro exemplo do artigo. O objetivo é transferir um valor usando um método construtor no formulário de destino. Volte para o Form1, dê um duplo-clique no botão e escreva o trecho de código abaixo:
private void button1_Click(object sender, EventArgs e)
{
Form2 formDestino = new Form2(textBox1.Text);
formDestino.Show();
}
Rode a aplicação, digite um texto qualquer na caixa de texto e clique no botão “Abrir Form2”.
Perceba que o valor foi transferido corretamente usando o método construtor. Seguindo o artigo, vamos escrever uma outra forma de se transferir um valor entre formulários, só que desta vez, usando uma propriedade. Pare o projeto, selecione o Form2 na IDE do Visual Studio e dê um duplo-clique no meio da janela para acessar o editor do formulário. Altere o código fonte conforme a listagem abaixo.
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
public Form2(string valor)
{
InitializeComponent();
textBox1.Text = valor;
}
public string Propriedade { get; set; }
private void Form2_Load(object sender, EventArgs e)
{
if (!this.Propriedade.Equals(""))
textBox1.Text = this.Propriedade;
}
}
Volte para o Form1, dê um duplo-clique no botão e altere o código de acordo com o trecho a seguir.
private void button1_Click(object sender, EventArgs e)
{
Form2 formDestino = new Form2();
formDestino.Propriedade = textBox1.Text;
formDestino.Show();
}
Execute o programa e teste novamente.
O resultado que obtive está demonstrado na imagem abaixo.
Fico por aqui, e até a próxima!
Nenhum comentário:
Postar um comentário
Deixe aqui seu comentário