Que diferencias hay?

12/03/2006 - 11:08 por David Sans | Informe spam
Hola,
Estaba haciendo un textbox que al tomar el foco se pueda cambiar el color de
fondo y de la letra, y viendo otras opciones para los textbox, he visto
varias formas de disparar los eventos. Pongo dos ejemplos y a ver si alguien
me puede orientar.
Hacen hacen los mismo las dos opciones?
Cual es mejor ?

Primera opcion :

Protected Overrides Sub OnGotFocus(ByVal e As System.EventArgs)
MyBase.OnGotFocus(e) ' <- Hasta aquí es lo que varia
OriginalForeColor = MyBase.ForeColor
OriginalBackColor = MyBase.BackColor
MyBase.ForeColor = _FocusForeColor
MyBase.BackColor = _FocusBackColor
End Sub


Segunda opcion:
Private Sub TxtBox_GotFocus(ByVal sender As Object, ByVal e _
As System.EventArgs) Handles MyBase.GotFocus
RaiseEvent GotFocus(sender, e) ' <- Hasta aquí es lo que varia
OriginalForeColor = MyBase.ForeColor
OriginalBackColor = MyBase.BackColor
MyBase.ForeColor = _FocusForeColor
MyBase.BackColor = _FocusBackColor
End Sub


Otra cosa, para hacer esto de cambiar el color de fondo y letra en que
eventos es mejor controlarlo en
gotfocus y lostfocus o enter y leave?

Muchas gracias.
David Sans

Preguntas similare

Leer las respuestas

#1 Carlos Gómez
13/03/2006 - 08:58 | Informe spam
Con la primera opción, si no llamas a la clase base
(Mybase.OnGotFocus...), el evento ÚNICAMENTE ejecuta tu codigo.
Con la segunda opción, creo que el RaiseEvent no hace nada, puesto que
el evento GotFocus llamará automáticamente a la clase base, con lo
que RaiseEvent será redundante (creo, no estoy seguro)

En general, si creas un control que herede de otro, por ejemplo un
botón, y quieres controlara el evento click por tu cuenta de modo que
si no cumple cierta condición no se propage el evento click usas
onClick y Mybase.OnClick(e)
De este modo, en el código del control, al hacer click ejecuta la
subrutina de OnClick, y ahora si te interesa que en el formulario donde
has colocado tu boton personalizado quieres que se propague el click lo
haces mediante MyBase.Onclick. Si no al procedimiento click del
formulario no recibirá el click sobre el boton.

Con respecto a la segunda pregunta, creo que da exactamente lo mismo
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida