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

ps。私のリストボックスでは、ソートされた妥当性がtrueに設定されています

これは私のコードですが、リストボックスに最後に挿入された値の名前のみが表示されます。

ボタンをクリックするたびに古いボタンのセットが削除され、挿入したばかりの新しいボタンのセットが追加されるようにするには、どうすればよいですか。

そして私に手を貸してください:$

4

3 に答える 3

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 に答える
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

結果: ここに画像の説明を入力

于 2012-06-22T05:43:18.300 に答える
0

0現在のループ値の代わりに入れます

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

する必要があります

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

他の部分については、何を達成したいのかわかりませんがMe.Controls.Clear()、ループの前に持つことができます。

于 2012-06-22T05:36:07.477 に答える