я пытаюсь добавить флажков панели с этим кодом:Элементы, добавленные ControlCollection не показывая
For t = 0 To taglist.Count - 1 'list(of string)
'new ComboBox
Dim cbx As New CheckBox
'some options
cbx.ThreeState = True
cbx.CheckState = CheckState.Indeterminate
cbx.Name = "cbxTag" & cnt
cnt += 1
cbx.Text = taglist.Item(t)
'cbx.Top = (y + 2) * 10
'cbx.Left = x * 30 + 10
cbx.Location = New Point(x * 60 + 5, (y) * 20 + 20)
'Add it to controls
SplitContainer2.Panel1.Controls.Add(cbx)
' Positioning stuff
If x * 60 + 65 < SplitContainer2.Panel1.Width Then
x += 1
Else
x = 0
y += 1
End If
Next
Использование отладки я вижу, что элементы получили добавлены в коллекцию и положение кажется правильным (в видимое положение).
Проблема: на форме появляется только первый элемент каждой строки. Редактировать: Проблема кажется чем-то с x koordinate.
Заранее спасибо
При добавлении элементов в SplitContainer.Panel элементы будут форматировать соответственно. Возможно, неправильная верхняя и левая логика. Можете ли вы прокомментировать эту часть кода и посмотреть, добавляются ли ваши предметы? Также вы уверены, что у вас есть более одного элемента в вашем списке? – Codexer
в порядке, они добавлены после комментирования верхней и левой части. нашел '.location' - попробовал это, чтобы получить позиции в позиции. любые другие способы? – Index
Добавьте FlowLayoutPanel в splitpContainer.Panel, к которому вы добавляете флажки. затем добавьте флажки в FlowLayoutPanel.Contros. FlowLayoutPanel позаботится о том, чтобы установить флажки для вас. –