La Web del Programador: Comunidad de Programadores
https://www.lawebdelprogramador.com/foros/Visual-Basic/487857-Matriz-de-Controles-BIDIMENSIONAL.html

Matriz de Controles BIDIMENSIONAL

sin imagen de perfil

Matriz de Controles BIDIMENSIONAL

Publicado por Juan Gaete (19 intervenciones) el 21/04/2005 16:29:36
Hola,
Todos sabemos que en visual basic se pueden crear matrices de controles, pero unidimensionales, es decir, con un solo Indice, por ejemplo:

btnAgregar(0)
btnAgregar(1)
btnAgregar(2)
btnAgregar(3)

Mi pregunta es:

Como puedo crear una matriz de controles BIDIMENSIONAL????, por ejemplo,

btnAgregar(0,0)
btnAgregar(0,1)
btnAgregar(1,0)
btnAgregar(1,1)

Necesito hacerlo porque estoy generando un codigo "Back Tracking" para un tablero de Ajedrez que me registra todos los movimientos posibles del caballo y es grafico, para lo cual tengo que crear una matriz de posiciones y una de controles para ir mostrando donde se ubico el caballo...

ok, pero no hagamos un ".LostFocus" del asunto, necesito saber como crear una matriz de controles BIDIMENSIONAL...

de antemano, Muchisimas gracias

RE:Matriz de Controles BIDIMENSIONAL

Publicado por Luis Esteban (4 intervenciones) el 22/04/2005 04:58:13
Hasta donde se de VB, eso no es posible, ya que la propiedad Index de los controles es un entero, y no una estructura de 2 elementos, lo que podrías hacer son varias cosas... por ej. usar la solución de ensamblador para matrices, la cuál es utilizar 2 "apuntadores" de dirección, uno para las filas y otro para las columnas; teniendo en cuenta que uno de ellos debe ser multiplicado por la longitud del otro, por ej objeto(x + y*8) sabiendo que el "apuntador" x abarca desde el 0 hasta el 7... (la longitud de tu arreglo unidimensional debe ser de MAXX * MAXY espero te sea de utilidad; en el peor de los casos puedes hacer una matriz de estructuras y dibujar lo que necesitas por medio de DirectX (Supongo... nunca he tenido que hacerlo :p)

Ojalá te sirva de algo
sin imagen de perfil

RE:Matriz de Controles BIDIMENSIONAL

Publicado por juan gaete (19 intervenciones) el 22/04/2005 17:25:33
gracias, si me sirve, bueno, todo me sirve, pero se me ocurrio una forma...

mira, la matriz que necesito es de 8x8, y mis controles van del 0 al 63, por lo tanto, voy a crear una matriz que me relacione "Posicion -> control"
es decir, la matriz (2,2) va a almacenar el numero 20, que es el indice del control al que le corresponderia esa posicion, entiendes?, es un poco engorroso, pero emula bastante bien el trabajo con matrices de controles bidimensionales...

gracias de todas formas

Juan