Hundir la flota

12/02/2007 - 13:15 por Juanma | Informe spam
Hola,

Alguien sabe si puedo utilizar un grid para emular las posiciones de los
barcos en un software de "hundir la flota"?
Me explico, necesito encontrar la manera de insertar imagenes en diferentes
posiciones de la pantalla, luego, dependiendo de la posicion, las guardare
en una tabla de la base de datos. Mi problema es que no se que objeto
utilizar para organizar mi formulario sin utilizar posiciones absolutas del
mouse para ello. Asi que pense que talvez con un grid podria saber en que
Celda me encuentro.

¿Alguien tiene alguna idea?¿Puedo hacer que un grid se divida en celdas y no
en columnas?

Estoy trabajando en vb.net.
Gracias
 

Leer las respuestas

#1 Carlos Gómez
12/02/2007 - 18:40 | Informe spam
On 12 feb, 13:15, "Juanma" wrote:
Hola,

Alguien sabe si puedo utilizar un grid para emular las posiciones de los
barcos en un software de "hundir la flota"?
Me explico, necesito encontrar la manera de insertar imagenes en diferentes
posiciones de la pantalla, luego, dependiendo de la posicion, las guardare
en una tabla de la base de datos. Mi problema es que no se que objeto
utilizar para organizar mi formulario sin utilizar posiciones absolutas del
mouse para ello. Asi que pense que talvez con un grid podria saber en que
Celda me encuentro.

¿Alguien tiene alguna idea?¿Puedo hacer que un grid se divida en celdas y no
en columnas?

Estoy trabajando en vb.net.
Gracias



No entiendo bien la pregunta.
Si quieres agregar controles (en este caso un control picturebox o un
button (ambos soportan imagenes), solo tienes que guardar en la base
de datos las coordenadas de la propiedad location y las de la
propiedad size, y -si cambian las imagenes, la ruta del archivo de
imagen. Despues, para cargarlas, cargas un datatable con los valores y
haces:
dim x, y, ancho, alto as integer
dim ruta as string
For Each fila as DataRow In DataTable1
with fila
integer.tryparse(.Item("X").ToString, x)
Integer.TryParse(.Item("Y").ToString,y)
Integer.TryParse(.Item("Ancho").ToString,ancho)
Integer.TryParse(.Item("Alto").ToString,Alto)
End With
dim PictureBox1 As PictureBox
PictureBox1.Location=New Point (x,y)
PictureBox1.Size = New Size(ancho,alto)
PictureBox1.Image=Image.FromFile(fila.item("RutaImagen").ToString)
Me.Controls.Add(PictureBox1)
Next

Para conocer donde están los distintos PictureBox que tienes en un
formulario:
dim x, y, ancho, alto as integer
For Each ctrl As Control In Me.Controls
If TypeOf ctrl Is PictureBox Then
x=ctrl.Location.X
y=ctrl.Location.Y
ancho=ctrl.Size.Width
alto = ctrl.Size.Height
msgbox (x & controlchars.crlf & y.ToString & controlchars.crlf
&)
End If
Next

Preguntas similares