Hola muy buenas, tengo un 'problemilla'
Lo que me pasa es que quiero hacer unas acciones (que siempre son las mismas) pero el codigo queda MUY largo. Os lo explico:
Imaginad que tengo 16 Picture Boxes, nombrados segun su posicion en la pantalla (Fila, Columna), por ejemplo:
img0101, img0102, img0103, img0104
img0201, img0202, img0203, img0204
img0301, img0302, img0303, img0304
img0401, img0402, img0403, img0404
Al pulsar la tecla W (por poner un ejemplo, quisiera que cada fila cogiera la imagen de la fila de abajo, y lo tengo que hacer de la siguiente forma:
Private Sub Form_Keypress (KeyASCII as integer)
'Si la tecla presionada es 'W' o 'w' entonces:
If (KeyASCII = (87 Or 119)) Then
' Fila 1:
img0101.picture = img0201.picture
img0102.picture = img0202.picture
img0103.picture = img0203.picture
img0104.picture = img0204.picture
' Fila 2:
img0201.picture = img0301.picture
img0202.picture = img0302.picture
img0203.picture = img0303.picture
img0204.picture = img0304.picture
' Fila 3:
img0301.picture = img0401.picture
img0302.picture = img0402.picture
img0303.picture = img0403.picture
img0304.picture = img0404.picture
' La Fila 4 que se quede asi, no importa lo de esto =P
End If
End Sub
En vez de escribir un codigo tan largo, no se podria hacer algo parecido a lo siguiente?
Private Sub Form_Keypress (KeyASCII as integer)
if (KeyASCII = (87 Or 119)) Then
for Fila=1 to 3
for Col=1 to 4
SigFila = Fila + 1
imgFilaCol.picture = imgSigFilaCol.picture
Next
Next
End Sub
Se podria hacer algo por el estilo? Es que no es que sean 16 imagenes, he puesto 16 como ejemplo =P Y no es que solo sea pa mover las imagenes hacia arriba xD
Bueno, espero una respuesta, aunque sea un "No, no se puede hacer nada de eso"
Ale, Saludos ;)
Lo que tenes que hacer es crear una matriz de controles, los nombras a todos igual y lo que le cambias es la propiedad Index. Asi los podes recorrer con un bucle:
Dim i as long
For i=0 to 15
imgX(i).picture = imgY(i).picture
Next i
o.0 Me he perdido en lo de crear una matriz de controles. Como se hace eso? Porke en batxiller no recuerdo haberlo dado (fue hace 2 años)
Es facil, creas un control, lo copias y lo pegas, al pegarlo te va a preguntar si queres crear una matriz de controles, le pones que si y listo, a la segunda vez ya no te pregunta porque la matriz ya esta creada, si seguis pegando te agrega los controles a la matriz.
Saludos
JuaS! Dicho asi parece facil. Esta misma noche me pongo a experimentar.
Gracias por tu ayuda ;)