Dim cont = 0
If ListBox1.Items.Count > 0 Then
For i =1 To ListBox1.Items.Count
Dim botao3 As New Button
botao3.Text = CStr(ListBox2.Items(cont)) 'table.Item(i).text &
botao3.BringToFront()
botao3.Top = top
botao3.Left = 40
botao3.Width = 300
Me.Controls.Add(botao3)
top = top + 30
cont = cont + 1
Next
End If
PS。我的列表框将已排序的propriety设置为true
这是我的代码,但它只会给它列表框中最后插入的值的名称。
我怎样才能做到这一点,以便当我点击按钮时,它会删除旧的按钮组,并添加一组我刚刚插入的新按钮。
请帮我一把:$
答案 0 :(得分:0)
您放置0
而不是当前循环值
botao3.Text = CStr(ListBox2.Items(0))
应该是
botao3.Text = CStr(ListBox2.Items(i))
对于另一部分,我不确定你想要实现什么,但你可以在循环之前拥有Me.Controls.Clear()
。
答案 1 :(得分:0)
使用它:
Dim btn As Button() = New Button(ListBox1.Items.Count - 1) {}
For i As Integer = 0 To ListBox1.Items.Count - 1
btn(i) = New Button()
btn(i).Text = ListBox1.Items(i).ToString()
If i > 0 Then
btn(i).Left = btn(i - 1).Right
End If
Me.Controls.Add(btn(i))
Next
结果:
答案 2 :(得分:0)
试试:
If ListBox1.Items.Count > 0 Then
For i =0 To ListBox1.Items.Count
Dim botao3 As New Button
botao3.Text = CStr(ListBox1.Items(i)) 'table.Item(i).text &
botao3.BringToFront()
botao3.Top = top
botao3.Left = 40
botao3.Width = 300
Me.Controls.Add(botao3)
top = top + 30
Next
End If