0
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

附言。我的列表框的排序属性设置为 true

这是我的代码,但它只会给它列表框中最后插入的值的名称。

我怎样才能做到这一点,以便当我单击按钮时,它会删除旧的一组按钮并添加一组我刚刚插入的新按钮。

请帮帮我:$

4

3 回答 3

0

你把0而不是当前循环值

botao3.Text = CStr(ListBox2.Items(0))

应该

botao3.Text = CStr(ListBox2.Items(i))

另一方面,我不确定您想要实现什么,但您可以Me.Controls.Clear()在循环之前获得。

于 2012-06-22T05:36:07.477 回答
0

use this:

  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

result: enter image description here

于 2012-06-22T05:43:18.300 回答
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
于 2012-06-22T05:46:20.047 回答