2012-06-22 56 views
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如何動態給名稱按鈕使用列表框

這是它的代碼,但它只會給它列出的最後一個插入值的名稱。

我該如何做到這一點,以便當我點擊按鈕時,它會刪除舊的一組按鈕,並添加一組新的按鈕,我剛插入。

,並請給我一個手:$

+0

爲什麼你有ListBox1中和listbox2?你迭代listbox1項目,但你使用listbox2項目上的索引 – eyossi

+0

順便說一句,你不需要'繼續'那裏...你有'我' – eyossi

回答

0

你把0代替電流環值的

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

應該

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

對於另一部分,我不知道你想要達到什麼目標,但是在循環之前你可以有Me.Controls.Clear()

+0

我抄寫錯誤代碼 – user1341926

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 

結果: enter image description here

+0

C#即時通訊使用vb – user1341926

+0

我編輯答案,我把vb代碼;) – KF2

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