none
Como passar um formulário para um método externo C# RRS feed

  • Pergunta

  • Eu preciso passar todos os meus forms para um método externo, que vai receber e tratar os eventos deles.

    Como venho do VB.NET e só sei de C# o que eu andei quebrando a cabeça para aprender, estou tendo dificuldades, e gostaria de contar com a ajuda de vocês.

    O que equivaleria em C# a algo que em VB.NET ficaria mais ou menos como se segue abaixo :

    Sub MetodoMyForm

    GetForm(Me)

    end sub

    Sub GetForm(MyForm as form)

    MyForm.dispose

    end sub

    Detalhe, eu preciso fazer isso com todos os forms, e gostaria apenas de passar uma variável que servisse como um ponteiro para o form ativo, para que então, eu pudesse realizar algumas operações genéricas sobre o mesmo. Alguma chance disto ser feito?

    Lamento se a pergunta for muito tosca, e agradeço de antemão.


    • Editado InfoProfi sexta-feira, 8 de junho de 2012 05:20
    sexta-feira, 8 de junho de 2012 05:17

Todas as Respostas

  • Olá,

    Nao entendi o que você está querendo fazer... Poderia explicar melhor? Mas, enfim, o equivalente em C# do código que você postou seria algo assim:

    public void MetodoMyForm()
    {
       GetForm(this);
    }
    
    public Form GetForm(Form myForm)
    {
       myForm.Dispose();
    }


    André Alves de Lima
    Microsoft MVP - Client App Dev
    Visite o meu site: http://www.andrealveslima.com.br
    Me siga no Twitter: @andrealveslima

    sexta-feira, 8 de junho de 2012 10:37
    Moderador
  • Obrigado pela atenção André.

    Mas na verdade o que eu queria era ter uma classe, que recebesse como parâmetro todos os formulários, para realizar algumas operações simples. Ou seja, eu teria que passá-los com algo tipo um cast, como Form mesmo, e não como a classe específica, até porque, se fosse assim, teria que ter um overload pra cada formulário do projeto, ou uma lista de parâmetros. Não dá!

    Venho do VB.NET, onde é muito fácil passar qualquer formulário como parâmetro na forma da classe antecessora, ou seja, Form, e a partir daí, fazer o que eu quiser.

    Era isso que eu queria. Tem como?

    domingo, 10 de junho de 2012 07:55
  • Acho que voce nao entendeu a explicacao do Andre. Voce faz assim no VB.Net entao no C# e como Andre postou. nao ser que voce quer algo diferente.

    A tua segunada explicao eu nao entendi ao certo o que voce quer fazer, podes explicar melhor por favor. Obrigado.


    O Amor que Sinto por Ti, Apenas Deus e capaz de sentir e superar tal amor!

    domingo, 10 de junho de 2012 13:58
  • É provável que eu tenha falado e falado sem dizer nada. C# pra mim é uma experiência totalmente nova, e já estou desenvolvendo um sistema inteiro, sem nenhum conhecimento no assunto, e felizmente, conseguindo! hehehe Lamento qualquer coisa.

    Eu consegui resolver, e sim, de fato era o que o André postou, mas no momento em que li, fiz confusão. Novamente, desculpem o mal entendido.

    No mais, obrigado a todos pela atenção. Tenham uma boa semana.

    segunda-feira, 11 de junho de 2012 12:02