Inquiridor
Como passar um formulário para um método externo C#

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
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- Sugerido como Resposta AndreAlvesLimaModerator terça-feira, 12 de junho de 2012 09:56
-
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?
-
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!
-
É 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.