C sharp - Problema con eventos

 
Vista:

Problema con eventos

Publicado por euss (3 intervenciones) el 08/11/2006 20:52:42
Hola a todos.

Tengo un control que consiste en un conjunto de botones ( como un menú ) dentro de este control tengo definidos los siguiente eventos:

private void b_Leave(object sender, EventArgs e)
{
if(right) // Esta es una bandera que modifico desde el metodo sobreescrito ProcessCmdKey
{
cursorAlaDerecha();
}
}
private void b_KeyUp(object sender, KeyEventArgs e)
{
if(eresElUnicoBoton && e.KeyData == Keys.Right)
{
cursorAlaDerecha();
}
}
Lo genero en estos dos eventos porque si solo hay un boton en el control nunca se lanza el evento Leave. La idea de cursorAlaDerecha() es que buscara el siguiente control para darle el foco algo como:
public void cursorAlaDerecha(object objetoInicial)
{
if(objetoInicial.Equals(menuPrincipal))
{
if(this.mSpanel.CanFocus)
this.mSpanel.Focus();
}
}
El problema es que mSpanel es un control que implementa los eventos b_Leave y b_KeyUp mas o menos con la misma logica que el control anterior y si llegue a mSPanel desde el evento b_Leave del control anterior entra al b_KeyUp de mSpanel, es decir se mueve dos veces. Agradezco que me indiquen que estoy haciendo mal.

Saludos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Problema con eventos

Publicado por euss (3 intervenciones) el 09/11/2006 00:35:37
La solucion era sobreescribir el metodo IsInputKey en lugar del metodo ProcessCmdKey asi puedo manipular las flechas desde el evento KeyDown
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar