2009-07-08 24 views

risposta

12

Vorrei andare a ignorare OnLoad, in modo da risparmiare i cicli della CPU per richiamare il gestore eventi.

Lo schema generale è di sovrascrivere un metodo, se si eredita da un controllo; altrimenti, iscriviti all'evento.

Ma ricordarsi di chiamare il metodo della classe base 'OnLoad, perché è qui che è stato richiamato l'evento Load.

+3

Secondo Microsoft, il sovraccarico del metodo OnLoad è la ".. tecnica preferita per gestire l'evento in una ** classe ** derivata" (vedi http://msdn.microsoft.com/en-us/library/system.windows .forms.form.onload.aspx) –

+2

@TroyMoon Non è questo ciò che ha detto Thomas? –

0

OnLoad è il gestore di eventi predefinito utilizzato in VB.NET per gestire l'evento Load. Generalmente sovrascrivo questo metodo quando devo associare il codice all'evento di caricamento. Esistono anche funzioni predefinite per gli altri eventi Page Life Cycle: OnPreRender, OnInit, ecc.

+0

Oops ... Ho appena realizzato che stavi chiedendo informazioni su winform. Ignorare il collegamento del ciclo di vita della pagina. Lo stesso vale però. – regex

+0

Inoltre, è lo stesso in altri linguaggi .NET, come C# (lo stesso framework .NET era codificato in C#). –

4

Il metodo OnLoad è quello che solleva l'evento Load. È un modello standard nelle classi framework e generalmente consigliato: per qualsiasi evento Foo, si dispone di un metodo protetto virtuale OnFoo che genera tale evento; e nessun altro metodo della classe solleva direttamente l'evento, ma chiama sempre OnFoo.

Se è necessario gestire l'evento su this, è in genere più semplice e più veloce ignorare OnFoo.

Problemi correlati