Windows Form . Retornando valor entre formulários
Olá pessoal, gostaria de mostrar com esse artigo, como retornar um valor de um formulário para outro formulário dinamicamente. Esse raciocínio pode ser aplicado em qualquer formulário dinâmico. Muita gente precisa passar valor de um formulário para outro, porém nesse exemplo, quero retornar o valor de um formulário para outro ou, para quem o chamou de forma dinâmica e simples.
Requisito:
- .Net Framework 3.5
- PlataformaWindows Form;
- Linguagem C#;
- Ferramenta Visual Studio.NET
Na prática
Primeiro de tudo, criei um projeto
do tipo Windows Application
Figura 1.1
Negócio
O Form1.cs é o principal que chama o Form2.cs. Depois pesquiso algum dado no Form2.cs e retorno para o Form1.cs que já está aberto. Dentro de cada formulário, tenho um campo TextBox e um Button.
No Form1.cs tenho o campos TextBox e Button porém o campo TextBox está desabilitado e nada pode ser escrito no mesmo, ou seja, é necessário clicar no botão e chamar o Form2.cs para pesquisar.
Depois de chamar o Form2.cs digito algum valor e clico no botão, automaticamente será fechado no Form1.cs aparecerá o valor na tela.
Layout da Tela
Form1.cs
Figura 1.2
Objetos:
TextBox.Name = textBox1
Button.Name = button1
Form2.cs
Figura 1.3
Objetos:
TextBox.Name
= textBox1
Button.Name
= button1
Código C#
Form2.cs
public partial class Form2 : Form { public String
Valor { get { return
textBox1.Text; } set { textBox1.Text = value;
} } public Form2() {
InitializeComponent(); } private void
button1_Click(object sender, EventArgs e) { this.Close(); } private void
Form2_Load(object sender, EventArgs e) { } } |
Code 1.1
Criei uma propriedade chamada Valor com get / set. O valor retornado da propriedade é o próprio textBox1.Text. No botão do Form2.cs executo apenas o Close().
Form1.cs
public partial class Form1 : Form { public Form1() {
InitializeComponent(); } private void
Form1_Load(object sender, EventArgs e) { } private void
button1_Click(object sender, EventArgs e) { Form2 frm = new Form2();
frm.ShowDialog(); textBox1.Text
= frm.Valor; } } |
Code 1.2
No botão do formulário Form1.cs, chamei o Form2 com uma nova instância do objeto formulário, usando o ShowDialog(). Esse é o segredo para quem quer pegar o valor da outra tela, pois o sistema pára na linha frm.ShowDialog(). Depois que digito o valor no campo do Form2.cs e clica no botão; a tela é fechada e continua na próxima linha perfeitamente.
Telas em Funcionamento
O formulário Form1.cs chamou o Form2.cs pelo botão.
Figura 1.4
Digitei o valor “teste” no campo do formulário Form2.cs. (Figura 1.5)
Figura 1.5
Depois que digitei, cliquei no botão da tela Form2.cs. Segue o resultado. (Figura 1.6)
Figura 1.6.
Automaticamente apareceu o valor no meu formulário já aberto. A minha dica para você é, tentar “debugar” no momento que estiver fazendo o código, caso não tenha entendido.
Abraço e fico por aqui.
Qualquer dúvida, pode entrar em contato pelo site.
Sign up to our newsletter
Receive our latest updates about programming languages, software, database, books, ebooks, classes, jobs and more.