Como pegar variável do Form aberto em C#

Olá pessoal,
No post anterior ensinei a passar uma variável de um Form já aberto para um novo Form(link). Hoje gostaria de explicar o processo inverso, ou seja: Pegar a variável do Form que foi aberto e usar no Form pai(que deu origem ao novo).

Para exemplificar criei um projeto com dois Forms, o primeiro apenas com um Button para chamar o segundo formulário e dois labels para mostrar a variável do Form a ser aberto.


Já no Form secundário coloquei um Label com um TextBox para o usuário digitar algo e um botão que atribuirá o texto à uma propriedade e em seguida fechará a Form.


Após a Form secundária ser fechada, a Form principal pega o valor da propriedade definida na Form secundária e mostra no Label.



Para fazer isto é bem simples. Na Form secundária, ou seja, que terá o valor a ser usado eu criei uma propriedade do tipo String desta forma:

public string TextoTeste { get; set; }

E então atribui um valor como se fosse uma variável comum:

TextoTeste = tbTexto.Text;

Agora na Form principal, ou seja, na Form que usará o valor basta recuperar a variável desta forma:

lblTextoRecebido.Text = novaForm.TextoTeste;

Sendo que novaForm é o nome da variável que dei para a instância da FormSecundaria.

Caso queiram ver o projeto com todo o código fonte ele pode ser baixado neste link: http://goo.gl/YfVkcf
Se preferirem  apenas o executável, acessem este link: http://goo.gl/lM4hSH

Espero ter ajudado.

Até a próxima.

12 comentários:

  1. Cara, muito bom seu post. Encontrei vários diferentes e complicados tentando explicar a mesma coisa, parabéns...

    ResponderExcluir
  2. João Paulo dica muito legal, bem simples, parabéns!

    ResponderExcluir
  3. Grande João Paulo sua dica foi super bem vinda resolvi meu problema de informar na Label Status o user logado, Valeu por compartilhar seu conhecimento.

    ResponderExcluir
  4. ótimo exemplo muito obrigado, porém teria como fazer com .show ao invés do .showDialog?

    ResponderExcluir
  5. Cara, seu tutorial me ajudou muito. Obrigado em.
    Já implementei e consigo pegar os dados de uma Grid.

    ResponderExcluir
    Respostas
    1. Oi Bruno, fico feliz que tenha ajudado. Obrigado pela mensagem. Abraço!

      Excluir
  6. Melhor blog que você respeita.
    Que pessoa maravilhosa pra escrever uma coisa assim.

    ResponderExcluir
  7. Perfeito! Muito obrigado pelo tutorial!

    ResponderExcluir

Não esqueça de enviar um comentário. Isto motiva o autor a continuar postando e também é uma forma de agradecimento