HandleCreated?

22/07/2004 - 16:21 por AJ Parilli | Informe spam
Estoy desarrollando un control que hereda la clase de un
TextBox. Ahora, necesito que mi control ejecute una
funcion una vez el formulario que lo contiene es cargado.
La alternativa que veo posible es un evento llamado
HandleCreated pues no cuento con un Load para el control.
Lo que no me gusta es que el HandleCreated se dispara cada
vez que se crea un manejador para el control, por ejemplo
un Click o un Enter, yo solo quiero ejecutar la funcion
una vez, al cargarse el form, por ahora eso lo estoy
haciendo con una bandera dentro del HandleCreated para
evitar ejecutar la funcion varias veces. Existe una mejor
alternativa?

Saludos
 

Leer las respuestas

#1 Eduardo A. Morcillo [MS MVP VB]
22/07/2004 - 17:38 | Informe spam
Mejor utiliza OnParentChanged que se llama cuando se le asigna un nuevo
padre al control. Dificilmente este metodo se llame mas de una vez, a menos
que estes moviendo el control de un padre a otro, y se ejecutara cuando el
control es añadido al formulario por primera vez.

Public Class MiTextBox
Inherits TextBox

Protected Overrides Sub OnParentChanged(ByVal e As System.EventArgs)
MyBase.OnParentChanged(e)
MessageBox.Show("Aqui estoy!")
End Sub

End Class


Eduardo A. Morcillo [MS MVP VB]
http://www.mvps.org/emorcillo

Preguntas similares