Visual Basic - evento keydown

Life is soft - evento anual de software empresarial
 
Vista:

evento keydown

Publicado por Balarin (13 intervenciones) el 24/02/2008 19:17:07
Hola, he observado que este evento en cuanto a las flechas de dirección se refiere, no se comporta igual en todos los controles, así por ejemplo, con 4
textbox colocados en dos filas de dos formando un cuadrado, si para el textbox 1.1, esto es, el situado en la esquina superior izquierda escribo para el
evento keydown:
if keycode = Vbkeydown then
text3.setfocus
elseif keycode = vbkeyright then
text2.setfocus
else
beep
end if

las flechas me funcionan perfectamente, sin embargo, para el mismo ejemplo pero cambiando el textbox por un commandboton, al pulsar flecha abajo en vez
de irse a la otra fila, (text3), se va al elemento que le corresponde en orden de tabulación, (text2), haciendo el mismo efecto en este ejemplo la flecha
abajo que la flecha derecha a pesar de que en el código no se especifica así.
La propiedad keypreview del formulario la tengo en true.

¿Alguien sabe cómo solucionar este problema?

Un saludo
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:evento keydown

Publicado por Carol (14 intervenciones) el 24/02/2008 19:29:29
Porque el código (seguramente) lo estás poniendo en el evento KeyDown del Form y no en el evento del control.

Lo pones en el evento KeyDown del ComboBox y verás cómo en el CommandButton no hace nada.
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

RE:evento keydown

Publicado por Balarin (13 intervenciones) el 24/02/2008 19:41:47
no, el código lo he puesto en el evento keydown del commandboton, voy botón a botón codificando el movimiento de las flechas en sus eventos keydown correspondientes y no funciona bien, sin embargo, con el textbox sí.
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

RE:evento keydown

Publicado por Carol (14 intervenciones) el 24/02/2008 20:36:27
Efectivamente, el evento KeyDown en un CommandButton no detecta las teclas de las flechas (el resto sí).
Pero aún así no sé que función puede tener eso en un CommandButton, que seguramente podrás hacer lo que quieras en el evento Click.

Dí exactamente lo que quieres y veremos como se puede hacer.
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

RE:evento keydown

Publicado por Balarin (13 intervenciones) el 24/02/2008 23:11:33
Bien, para lo que quiero hacer probablemente no me valga el commandbuton, lo he usado a modo de prueba pues tengo que utilizar este evento, el caso es que con el control msflexgrid pasa lo mismo. Te explico:
Quiero hacer un tablero en forma de cruz equivalente a un cuadrado de 7*7 en donde suprimes los cuadrados de dimensión 2*2 de las esquinas. Cada posición equivaldría a una casilla que puede tener dos estados, con ficha o vacía pero es importante desplazarse con las flechas y no con el ratón porque es un juego para personas ciegas. Es un solitario en donde vas saltando y eliminando fichas hasta quedarte con una sola en el centro.
Mi problema es que no sé que control usar, he pensado en el msflexgrid pero parece que tampoco me va bien y en fin, como soy novato en esto de la programación pues estoy un poco atascado.
Mi idea es crear una matriz de tipo boolean, asignar un sonido según el estado true o false (ficha o vacío) y desplazarme con las flechas por el tablero, cosa esta última que me está dando problemas.
Un saludo
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

RE:evento keydown

Publicado por Carol (14 intervenciones) el 24/02/2008 23:24:31
Yo tambien soy novata en esto de la programacion y te contestaría enseguida con mis pobres conocimientos pero es que me esta llamando mi novio desde la cama y gritando que deje el ordenador de una pùta vez y como comprenderas le tendré que hacer mas caso a él que a tí

resumiendo, si el polvo es bueno. mañana me levanto contenta y te respondo y si no, pues date por perdido.

como comprenderas tengo prisa, así que hasta mañana, si dios quiere
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

RE:evento keydown

Publicado por Carol (14 intervenciones) el 25/02/2008 13:05:05
Muy gracios@ quien escribió lo anterior con mi nombre, pero esta no es la sección de chistes sino de Visual Basic.

Mejor dedícate a responder a las preguntas, que espero al menos sepas mas de eso que de hacer chistes.
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

RE:evento keydown

Publicado por Alejandro (60 intervenciones) el 25/02/2008 11:59:52
Yo creo q prodias usar una matriz de controles picturebox, que te aceptaran todos estos eventos y puedes dibujar circulos o incluir otro picture con el circulo ya dibujado en su interior(haciendolo visible o no) para marcar las casillas con ficha.
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

RE:evento keydown

Publicado por Balarin (13 intervenciones) el 25/02/2008 23:48:35
Sí, creo que va a ser la mejor opción, gracias.
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