Windows Form - Retornando valor entre formulários


por Mauricio Junior em 1/1/2011 0

             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 em seu Visual Studio.NET. Depois criei mais um formulário e agora tenho Form1 e Form2. (Figura 1.1).

 

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.

 

voltar   comente  subir

 
Mauricio Junior Formado pela Faculdade Anhanguera, Especialista pela FGV (Fundação Getúlio Vargas), Pós-Graduação em Docência Superior e cursando Mestrado na UNB Engenharia Elétrica; .
Tenho 29 anos e possuo sete livros publicados pela editora Ciência Moderna. Sou Certificado Microsoft MCP, MCAD e MVP, faço parte da comunidade ASPNETI.COM, ECODE10.COM, onde publico artigos, vídeos, ebooks e livros Publico artigos, vídeos e podcast em outras comunidades. Trabalho como Analista de Sistemas / Desenvolvedor na empresa ATP S/A. Blog: blog.mauriciojunior.org, Site pessoal www.mauriciojunior.org



Comentários:

Comente (dê sua opinião):
Comentário:
Código Imagem:  (digite o código da imagem respeitando maiúsculo e minúsculo)

Favor digitar o código da imagem para cadastramento.

 

Outros Artigos do Autor

Nova forma de utilizar cache utilizando Visual Studio.NET 2005
Padrão de Codificação
Desktop Linux Ubuntu
Vídeo: Montando o Windows Phone em NYC
Visual Studio 11 Solution Explorer poderoso
Novo Firefox 3.0 - o chamado Minefield
Vídeo sobre banco de dados
Alongar é preciso
My Tracks
Microsoft Preview Windows Phone 7 in NYC
Vídeo: Framework de dados - parte 1
Mais um certificado Microsoft
IsData
Dica de Segurança no Arquivo de Configuração - Web / App .config
Sistema ASP 3.0 utilizando 3 camadas – Parte 2
Envio de e-mail através de formulário web
Tudo Sobre DataGrid - (ASP.NET e C#)
Montando estrutura de um site MVC 2 com Visual Studio .NET 2010 - Parte 2
Sistema iGas - Controle de Gasolina
Dica para Auto Completar Código
Microsoft HomeOS
Web Administration Tool
Tata Motors (Grupo TCS)
Projeto Natal é mostrado para a mídia
Usando public interface
Orientação a Objetos - Microsoft PetShop 3.0
Clique ENTER usando C#.NET
LG Optimus 7 com Windows Phone 7
Windows Forms Application – Alterando Arquivo de Configuração Dinamicamente
Trabalhando com GridView e RowCommand
Criando RSS
Criando Email Modelo no Mail - MacBook
Conecte - Os games
Montando Menu Dinâmico com Banco de Dados
Criar gráfico na web de forma fácil