none
considerar a herança a partir de um determinado ponto do código RRS feed

  • Pergunta

  • Bom dia.

    No Delphi posso fazer assim em uma tela herdada:

    procedure frmCadCliente.Botao1(Sender: TObject);
    begin
    
     'aqui posso colocar todo o código a ser executado antes do código que está no mesmo botão da tela herdada
    
      inherited; 
    
    
    'depois do inherited vai executar o código da tela padrão herdada
    
    obs: se não tivesse o inherited não ida considerar nada do botao1 da tela padrão herdada
    
    end;
    
    

    Como fazer isso em vb.net ou c# ?

    Grato..abraços


    rodrigo

    quinta-feira, 17 de maio de 2012 14:35

Todas as Respostas

  • Não entendi, dá mais uma detalhada.

    thiagokoelho

    quinta-feira, 17 de maio de 2012 14:39
  • Opa...

    Digamos que na tela padrão temos o evento KeyDown

        Private Sub frmPadrao_KeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyDown
    
            if e.KeyCode = Keys.F10 Then
                Close()
            End If
    
        End Sub

    E tela que foi criada pela opção Add New - Inherited Form também tem o mesmo evento:

        Private Sub frmPadrao_KeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyDown
    
            If e.KeyCode = Keys.F10 Then
    
                MessageBox.Show("aqui ocorreu um erro")
                Exit Sub
    
            End If
    
        End Sub
    

    Desta forma vai fechar o form. Quero impedir que o Close da frmPadrao seja executado.

    Este é um exemplo, poderia definir em qual ponto o código da tela herdada será considerado(Antes, no meio ou depois do código na tela filha)


    rodrigo

    quinta-feira, 17 de maio de 2012 15:07
  • corrigindo:

    E tela que foi criada pela opção Add New - Inherited Form também tem o mesmo evento:

        Private Sub frmTelaFilha_KeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyDown
    
            If e.KeyCode = Keys.F10 Then
    
                MessageBox.Show("aqui ocorreu um erro")
                Exit Sub
    
            End If
    
        End Sub

    rodrigo

    quinta-feira, 17 de maio de 2012 15:10