1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Executar função entre forms

Discussão em 'Programação' iniciada por aishihara, 17 de Abril de 2008. (Respostas: 4; Visualizações: 890)

  1. aishihara

    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
     
  2. andrepadez

    andrepadez Power Member

    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.
     
  3. aishihara

    aishihara Power Member

    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?
     
  4. joao.miguel

    joao.miguel Power Member

    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.
     
  5. aishihara

    aishihara Power Member

    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?
     

Partilhar esta Página