Я делаю заявку, в которой необходимо создать список с несколькими вариантами, в этом случае список включает в себя меру элемента и его положение. Позиция относится к тому факту, что в Panel есть позиции A, B, C, D, и каждый элемент должен занимать одну из этих позиций, как отмечено в списке GridView.
Это должно быть как следует.
Я создаю код, но не связан с GridView и создаю объекты на основе количества единиц, созданных в виде сетки.
For i = 1 To ContadorIzq
pos = CInt(TextBox38.Text)
poslabel = CInt(TextBox42.Text)
Dim pb As New Panel With
{
.Width = 120,
.Height = 460,
.Top = 10,
.Left = 10,
.BorderStyle = BorderStyle.FixedSingle,
.BackgroundImage = Image.FromFile("C:\Images\sections\Ejem.bmp"),
.BackgroundImageLayout = ImageLayout.Stretch,
.ContextMenuStrip = CntxtMnuStrpUnit,
.Name = "Panel" & CInt(TextBox37.Text),
.Location = New Point(pos, 20)
}
AddHandler pb.Click, AddressOf myClickHandler_b
Dim labela As New Label With {
.AutoSize = True,
.Location = New Point((poslabel), 12),
.Text = "Section " & CInt(TextBox37.Text),
.ForeColor = Color.White,
.BackColor = Color.Transparent,
.Font = New Font(Me.Font, FontStyle.Bold),
.Name = "Label" & CInt(TextBox37.Text)
}
AddHandler labela.Click, AddressOf myClickHandler
labela.Font = New Font(labela.Font, FontStyle.Bold)
Panel1.Controls.Add(pb)
pb.Controls.Add(labela)
Dim posY As Int16 = 30
Dim posX As Int16 = 3
For j = 1 To 4
If j = 1 Then
Dim pbdoors As New Panel With {
.Width = 114,
.Height = 198,
.Top = 10,
.Left = 10,
.BorderStyle = BorderStyle.FixedSingle,
.BackgroundImage = Image.FromFile("C:\Images\Doors\EjemB.bmp"),
.BackgroundImageLayout = ImageLayout.Stretch,
.ContextMenuStrip = CntxtMnuStrpUnit,
.Name = "Panel" & CInt(TextBox37.Text) & j
}
AddHandler pbdoors.Click, AddressOf myClickHandler_doors
pbdoors.Location = New Point(posX, 30)
pb.Controls.Add(pbdoors)
posY = (posY + 100)
ElseIf j = 2 Then
posY = 130
ElseIf j = 3 Then
Dim pbdoors As New Panel With {
.Width = 114,
.Height = 98,
.Top = 10,
.Left = 10,
.BorderStyle = BorderStyle.FixedSingle,
.BackgroundImage = Image.FromFile("C:\Images\Doors\EjemC.bmp"),
.BackgroundImageLayout = ImageLayout.Stretch,
.ContextMenuStrip = CntxtMnuStrpUnit,
.Name = "Panel" & CInt(TextBox37.Text) & j
}
AddHandler pbdoors.Click, AddressOf myClickHandler_doors
pbdoors.Location = New Point(posX, 230)
pb.Controls.Add(pbdoors)
posY = (posY + 100)
ElseIf j = 4 Then
Dim pbdoors As New Panel With {
.Width = 114,
.Height = 98,
.Top = 10,
.Left = 10,
.BorderStyle = BorderStyle.FixedSingle,
.BackgroundImage = Image.FromFile("C:\Images\Doors\EjemC2.bmp"),
.BackgroundImageLayout = ImageLayout.Stretch,
.ContextMenuStrip = CntxtMnuStrpUnit,
.Name = "Panel" & CInt(TextBox37.Text) & j
}
AddHandler pbdoors.Click, AddressOf myClickHandler_doors
pbdoors.Location = New Point(posX, 330)
pb.Controls.Add(pbdoors)
posY = (posY + 100)
End If
Next
TextBox38.Text = pos + 120
TextBox37.Text = CInt(TextBox37.Text) + 1
TextBox40.Text = CInt(TextBox40.Text) + 120
Next
Пожалуйста, есть идеи? Не могли бы вы мне помочь?