Visual Basic - Ayuda, el maula anda suelto!

Life is soft - evento anual de software empresarial
   
Vista:

Ayuda, el maula anda suelto!

Publicado por Facundo (58 intervenciones) el 30/06/2014 05:47:48
Hola gente,
recurro a ustedes por algo que no puedo terminar de creer:

Tengo en un Form, 12 elementos Label.
Mi idea es que al presionar cada una de las teclas de función (de 1 al 12), vaya cambiando el color de las etiquetas (Label), para lo cual el código es el que sigue:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
Select Case KeyCode
    Case 112
        If Label1.BackColor = vbRed Then Label1.BackColor = vbGreen Else Label1.BackColor = vbRed
    Case 113
        If Label2.BackColor = vbRed Then Label2.BackColor = vbGreen Else Label2.BackColor = vbRed
    Case 114
        If Label3.BackColor = vbRed Then Label3.BackColor = vbGreen Else Label3.BackColor = vbRed
    Case 115
        If Label4.BackColor = vbRed Then Label4.BackColor = vbGreen Else Label4.BackColor = vbRed
    Case 116
        If Label5.BackColor = vbRed Then Label5.BackColor = vbGreen Else Label5.BackColor = vbRed
    Case 117
        If Label6.BackColor = vbRed Then Label6.BackColor = vbGreen Else Label6.BackColor = vbRed
    Case 118
        If Label7.BackColor = vbRed Then Label7.BackColor = vbGreen Else Label7.BackColor = vbRed
    Case 119
        If Label8.BackColor = vbRed Then Label8.BackColor = vbGreen Else Label8.BackColor = vbRed
    Case 120
        If Label9.BackColor = vbRed Then Label9.BackColor = vbGreen Else Label9.BackColor = vbRed
    Case 121
        If Label10.BackColor = vbRed Then Label10.BackColor = vbGreen Else Label10.BackColor = vbRed
    Case 122
        If Label11.BackColor = vbRed Then Label11.BackColor = vbGreen Else Label11.BackColor = vbRed
    Case 123
        If Label12.BackColor = vbRed Then Label12.BackColor = vbGreen Else Label12.BackColor = vbRed
        Print Form1.KeyPreview
End Select
End Sub

La sorpresa viene ahora:
Apretando las teclas de función F1 a F9, F11 y F12 el código funciona sin problemas.
Cuando apreto F10 una vez es como si se detuviera la intercepción de teclas presionadas; solamente tras apretar F10 nuevamente, el programa vuelve a funcionar.
Una cosa que descarté es que F10 pusiera en False a Form1.KeyPreview; ése no es el caso.
Agradeceré al que pueda explicar este comportamiento.
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

Ayuda, el maula anda suelto!

Publicado por Pico (114 intervenciones) el 30/06/2014 10:36:14
El problema es que la tecla F10 ya tiene asignado un trabajo en cualquier programa windows, acrivar el menú, y primer está hacer eso y luego ya lo tuyo.
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

Ayuda, el maula anda suelto!

Publicado por Facundo (58 intervenciones) el 30/06/2014 12:47:12
Gracias por tu respuesta!
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