Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    Overrides OnPaintBackground

    Ciao a tutti,

    sono nuovissimo del forum, mi sono appena iscritto. Per passione personale e a tempo perso realizzo applicazioni in VB2005.

    In questo periodo sto studiando la GDI+ e navigando in rete ho trovato molte indicazioni su come recuperare l'oggetto Graphics. Una cosa mi sfugge:

    in che modo posso praticare l'Overrides del metodo OnPaintBackground su un controllo che non sia la Form ?

    Grazie a chiunque risponda.

  2. #2
    Utente di HTML.it L'avatar di albgen
    Registrato dal
    Jun 2005
    Messaggi
    3,249
    codice:
        public class ControlloDerivato: Control
        {
            protected override void OnPaintBackground(PaintEventArgs argPaint)
            {
                
            }
        }
    I got the remedy

  3. #3
    Ciao albgen,

    grazie per la risposta.

    Deduco che è necessario creare una classe derivata, però sulla guida in linea a questo Link si legge:

    "...Quando si sottopone a override il metodo OnPaintBackground, non è necessaria alcuna classe derivata per richiamare il metodo OnPaintBackground della relativa classe base."

    O forse sono io che non ho capito niente.

    P.S. io conosco solo Visual Basic .NET

  4. #4
    Utente di HTML.it L'avatar di albgen
    Registrato dal
    Jun 2005
    Messaggi
    3,249
    Originariamente inviato da Anduril
    Ciao albgen,

    grazie per la risposta.

    Deduco che è necessario creare una classe derivata, però sulla guida in linea a questo
    beh si !

    con override si intende sovrascrivere un metodo virtuale della classe base...perchè tu avevi scritto
    in che modo posso praticare l'Overrides del metodo OnPaintBackground su un controllo che non sia la Form ?
    I got the remedy

  5. #5
    questo significa che ho non ho capito niente sull'uso di OnPaintBackground....

    Se permetti ri-formulo la domanda:

    in che modo posso usare OnPaintBackground su un controllo che non sia la Form?

    Grazie di nuovo.

  6. #6
    Utente di HTML.it L'avatar di albgen
    Registrato dal
    Jun 2005
    Messaggi
    3,249
    Originariamente inviato da Anduril
    Se permetti ri-formulo la domanda:
    ma certo

    Originariamente inviato da Anduril

    in che modo posso usare OnPaintBackground su un controllo che non sia la Form?

    Grazie di nuovo.
    non la puoi usare !
    perchè il metodo OnPaintBackground è dichiarato protetto(protected), il che significa che può essere utilizzato solo da classi derivate.
    quindi, l'unico modo è proprio quello di ereditare e quindi fare l'override.

    http://msdn.microsoft.com/it-it/libr...ackground.aspx
    I got the remedy

  7. #7
    Allor cosa significa quello che ho letto sulla MSDN, a proposito dell'uso di questo metodo senza dover disporre di una classe derivata?

    "...Quando si sottopone a override il metodo OnPaintBackground, non è necessaria alcuna classe derivata per richiamare il metodo OnPaintBackground della relativa classe base."

    Cosa mi sfugge?

  8. #8
    Utente di HTML.it L'avatar di albgen
    Registrato dal
    Jun 2005
    Messaggi
    3,249
    Originariamente inviato da Anduril
    Allor cosa significa quello che ho letto sulla MSDN, a proposito dell'uso di questo metodo senza dover disporre di una classe derivata?

    "...Quando si sottopone a override il metodo OnPaintBackground, non è necessaria alcuna classe derivata per richiamare il metodo OnPaintBackground della relativa classe base."

    Cosa mi sfugge?
    si intende che se tu crei la classe derivata e quindi fai l'override del metodo, dentro al metodo che stai definendo non c'è bisogno di chiamare OnPaintBackground della classe base.
    probabilemente non ti sarà chiaro. quindi ecco l'esempio per farti capire meglio:

    codice:
        public class ControlloDerivato: Control
        {
            protected override void OnPaintBackground(PaintEventArgs argPaint)
            {
              //QUI NON SERVE FARE base.OnPaintBackground(PaintEventArgs argPaint);
            }
        }
    I got the remedy

  9. #9
    Ok grazie, mi sei stato di aiuto.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.