Executar função entre forms

aishihara

Power Member
Bom dia,

Tenho um programa winform em C#. Tenho duas forms que funcionam da seguinte maneira. Clicando num botão na form 1 eu chamo a form 2. Minha dúvida é: Eu gostaria de executar alguns comandos quando a form 2 fechasse e assim voltasse a form 1. Como eu faria isso?
Obs.: Se eu tivesse que fazer isso na form 2 como trabalharia com os controles da form 1?

Desde já agradeço a atenção.

André Ishihara
 
Boas,

Se percebi bem, não tem muita ciência o que procuras.

Certamente a form2 tem um eventhandler (por exemplo quando clicas no botao "fechar" que faz com que esta seja fechada com um código do género Form2.close()
Não sei a Sintaxe sorry.
O código que queres correr na passagem de um para o outro tens de o colocar nesse eventhandler antes (se tiver relacionado com o form2) ou depois do Form2.Close();

De qq maneira, vou ver melhor como isso se faz para te tentar ajudar melhor, mas tenta implementar o que te disse.
 
Esclarecendo.
A form 1 é uma tela com controles. Um destes controles possui um botão que chama a form 2. O que eu gostaria é: Quando o form 2 fechasse gostaria que ele executasse algumas ações dentro da form 1. Alguem tem alguma ideia de como resolver isso?
 
Tens duas formas de fazer isso:

1ª Quando crias o form2, subscreve o evento Closing desse form e tratas o que precisas no form1 (eventualmente se o estás a criar, podes lá colocar umas propriedades públicas para que quando ele fecha, poderes retirar de lá a informação que precisas)

2ª No construtor do form2, passas o form1 e dai usas os métodos públicos e internos que tiveres para fazeres o que precisas.
 
No caso eu tenho uma função que se utiliza do controle da form1. No caso eu tenho que criar um static void para chamar essa função da form1 e no form2 chamar essa static void?
 
Back
Topo