Array
(
)

Herança

Waldemorte
   - 20 mai 2009

Pessoal, me ajuda por favor! Essa é facil... Eu que sou leigo, rs.

Criei um form genérico de cadastro com uma barra de ferramentas com os botões incluir, salvar, etc... Consegui fazer um código genérico nos botões para que funcione em qualquer form herdado.

Porém, tem uma coisa que não consegui...

Quando criei um form novo que é herdado desse form genérico, no botão salvar, eu preciso antes de executar o procedimento de gravação (que fica no form genérico) executar um procedimento de consistência de dados, mas este PRECISA estar no form herdado, afinal preciso acessar os componentes de tela para acessar os dados digitados pelo usuário.

Como faço isso, se ele chama direto o evento click do salvar???

Alguém tem como me passar ou me falar onde tem algum projetinho em C# que contém um form genérico pra cadastro simples?

Valeu!!!

Tiagodb
   - 25 mai 2009

Para isso você deve declarar o método da classe pai como virtual e na classe herdada você deve sobrescrever o método utilizando a declaração override. Além disso, deve manter a chamada para o pai utilizando o objeto base.
Código de exemplo:
public class Parent
{
public virtual void EventoBotao()
{
//Codigo do form pai
MessageBox.Show(´Form pai´);
}
}

public class FormHerdado : Parent
{
public override void EventoBotao()
{
//Evento do form herdado
MessageBox.Show(´Form Herdado´);

//Evento do pai
base.EventoBotao();
}
}