Error con Eventos

14/12/2004 - 13:13 por e-lores | Informe spam
He creado un boton personalizado que cambia de color al pasar sobre él.
Funciona perfectamente, pero si oculto el formulario y lo vuelvo a enseñar,
al pasar sobre el botón se me queda clavado y no vuelve al color que
deberia. He 'debugado' un poco y es como si la segunda vez que muestro el
formulario, no se lanzase el evento 'OnMouseLeave'. ¿Alguién tiene alguna
idea de que puede estar ocurriendo?

Gracias.
Ernesto Lores.

Preguntas similare

Leer las respuestas

#1 Braulio Diez
14/12/2004 - 16:15 | Informe spam
Hola,

No estoy muy seguro de porque pasa eso, pero... en tu "override" de
OnMouseLeave, llamas también al método de la clase base ?

base.OnMouseLeave(e);

Igual el no llamarlo puede hacer que algo vaya mal, si no, pega el trozo
de código, a ver porque podría ser.

Suerte
Braulio

"e-lores" wrote:

He creado un boton personalizado que cambia de color al pasar sobre él.
Funciona perfectamente, pero si oculto el formulario y lo vuelvo a enseñar,
al pasar sobre el botón se me queda clavado y no vuelve al color que
deberia. He 'debugado' un poco y es como si la segunda vez que muestro el
formulario, no se lanzase el evento 'OnMouseLeave'. ¿Alguién tiene alguna
idea de que puede estar ocurriendo?

Gracias.
Ernesto Lores.



Respuesta Responder a este mensaje
#2 e-lores
15/12/2004 - 08:41 | Informe spam
El código es tan sencillo como esto:

Private Sub ImageButton_MouseLeave(ByVal sender As Object, ByVal e As
System.EventArgs) Handles MyBase.MouseLeave
Me.BackColor = _colorLeave
Me.ForeColor = _foreColor
End Sub

Private Sub ImageButton_MouseMove(ByVal sender As Object, ByVal e As
System.Windows.Forms.MouseEventArgs) Handles Me.BackColor _colorEnter
Me.ForeColor = _foreColorSelected
End Sub

Si llamo al evento de la clase base dentro de estas funciones se produce un
desbordamiento de la pila. El código es sencillo. Tengo los botones en un
formulario. Al hacer un form.showdialog(); todo funciona perfectamente, pero
cuando salgo y vuelvo a hacer un form.showdialog(); es cuando ocurre el
problema.

¿Sabes que puede ocurrir?


"Braulio Diez" escribió en el mensaje
news:
Hola,

No estoy muy seguro de porque pasa eso, pero... en tu "override" de
OnMouseLeave, llamas también al método de la clase base ?

base.OnMouseLeave(e);

Igual el no llamarlo puede hacer que algo vaya mal, si no, pega el trozo
de código, a ver porque podría ser.

Suerte
Braulio

"e-lores" wrote:

> He creado un boton personalizado que cambia de color al pasar sobre él.
> Funciona perfectamente, pero si oculto el formulario y lo vuelvo a


enseñar,
> al pasar sobre el botón se me queda clavado y no vuelve al color que
> deberia. He 'debugado' un poco y es como si la segunda vez que muestro


el
> formulario, no se lanzase el evento 'OnMouseLeave'. ¿Alguién tiene


alguna
> idea de que puede estar ocurriendo?
>
> Gracias.
> Ernesto Lores.
>
>
>
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida