Visual Basic.NET - Duda con Matriz de Controles

 
Vista:

Duda con Matriz de Controles

Publicado por Sergio (1 intervención) el 05/02/2013 01:14:02
Saludos a toda la comunidad de programadores.

Mi duda es la siguiente:

Tengo una matriz de controles en donde se crean doce controles de tipo PictureBox dentro de un panel. Utilizo las siguientes propiedades:

.Size = New Size(100, 125) 'El tamaño del control

.Location = New Point(1 + (i * 100), 1) 'Donde i es igual a 12, que es la cantidad de controles que se crean.

El detalle es que coloca todos los controles en una sola línea. El panel lo dibujo de forma que muestre dos filas de seis controles cada una y así llenar todo el espacio del panel.

Mi pregunta es: Cómo puedo distribuir los doce controles en el panel?

Espero y me puedan aclarar esta duda.

Un saludo y, de antemano, muchas gracias.
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

Duda con Matriz de Controles

Publicado por Damian (824 intervenciones) el 08/02/2013 14:10:12
Hola yo en su momento también trabaje de esta forma con controles en tiempo de ejecución y lo que hacía era hacer un cálculo para ir ubicándolos, te dejo parte del código, que en mi caso es con CheckBox:
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
Dim i As Integer = 1
        Const fila1 As Integer = 59
        Const fila2 As Integer = 89
        Const fila3 As Integer = 119
        Const fila4 As Integer = 149
        Dim c1 As Integer = 1, c2 = 1, c3 = 1, c4 = 1
 
        While Rs.Read()
            Dim ch As New CheckBox
 
                ch.Size = New Size(110, 20)
                ch.Enabled = False
                ch.Checked = True
                Select Case i
                    Case 1 To 3
                        ch.Text = Rs("Descripcion")
                        ch.Name = "ch"
                        ch.Tag = Rs("CodCat")
                        ch.Location = New Point(18 * c1, fila1)
                        GrupSecc.Controls.Add(ch)
                        c1 += 7
                    Case 4 To 6
                        ch.Text = Rs("Descripcion")
                        ch.Name = "ch"
                        ch.Tag = Rs("CodCat")
                        ch.Location = New Point(18 * c2, fila2)
                        GrupSecc.Controls.Add(ch)
                        c2 += 7
                    Case 7 To 9
                        ch.Text = Rs("Descripcion")
                        ch.Name = "ch"
                        ch.Tag = Rs("CodCat")
                        ch.Location = New Point(18 * c3, fila3)
                        GrupSecc.Controls.Add(ch)
                        c3 += 7
                    Case 10 To 12
                        ch.Text = Rs("Descripcion")
                        ch.Name = "ch"
                        ch.Tag = Rs("CodCat")
                        ch.Location = New Point(18 * c4, fila4)
                        GrupSecc.Controls.Add(ch)
                        c4 += 7
                End Select
                i += 1
                AddHandler ch.Click, AddressOf Ch_Click
        End While

Aclaro que el While Rs,read() viene de un select anterior para así recorrer e ir cargando los registros (Rs("CodCat") y Rs("Descripcion")), con el Select case los voy dividiendo.
El tema es que entiendas la idea, cualquier cosa me avisas. Saludos!!!
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