¿A cual le mando el foco a la hora de dar clic si cada command debe tener su función?

Estoy haciendo un programa que me dejaron de tarea y utilizo una matriz de controles del command (son 15 para ser preciso, desde command1(0),..., command1(14)). Este programa es el juego del cuadrito que tiene 15 figuras y un espacio libre a donde puedo mover solo una de esas figuras.
-------------
|1 2 3 4 |
|5 6 7 8 |
|9 10 11 12|
|13 14 15 |
-------------
Mi pregunta es, cómo puedo saber a cual le mando el foco a la hora de dar clic en uno de estos si necesito que cada command tenga su propia función, es decir, al darle clic en en el command14 lo quiero mover al espacio libre:
-------------
|1 2 3 4 |
|5 6 7 8 |
|9 10 11 12|
|13 14 15|
-------------
Pero mi error es que a la hora de dar clic solo muevo el cuadro 1, o el 2, o cualquier numero siempre y cuando yo se lo especifique.

1 Respuesta

Respuesta
1
Todos los controles a los cuales le generas una matriz, tienen un numero de indice,
por ejemplo en tu caso tienes una matriz de 15 botones, y voz te referís a alguno en espacial indicando su indice
Command1(indice), de igual manera al hacer click en un botón de la matriz (fíjate que siempre es la misma subrutina, es el mismo evento)
Tienes una variable que te indica su numero
Private Sub Command1_Click(Index As Integer)
boton = Index
End Sub
De esa manera podes saber cual botón apretastes, si son funciones distintas para cada botón te recomiendo utilizar la función Select, por ejemplo seria así:
Private Sub Command1_Click(Index As Integer)
Select Case Index
case 0
'codigo del boton 1
Case 1
'codigo del boton 2
Case 2
'codigo del boton 3
Case 3
'codigo del boton 4
'y asi para todol los botones
End Select
End Sub
Espero te sirva y que sea esto lo que preguntaste.
Cualquier duda estoy a tu disposición.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas