2013-07-24 46 views
1

字符串看起來像11,33,44 我做了三個字符串拆分成3個文本框,然後當我做ListBox1.Items.Remove(ListBox1.SelectedItem)它不起作用。如何刪除列表框中的項目在vb

它說ss.Split(「,」)對象引用未設置爲對象的實例。

這裏是我的代碼

Private Sub ListBox1_SelectedIndexChanged(sender As System.Object, e As  System.EventArgs) Handles ListBox1.SelectedIndexChanged 
    Dim ss As String = ListBox1.SelectedItem 

    Dim aryTextFile(2) As String 
    aryTextFile = ss.Split(",") 


    TextBox1.Text = (aryTextFile(0)) 
    TextBox2.Text = (aryTextFile(1)) 
    TextBox3.Text = (aryTextFile(2)) 

    ss = String.Join(",", aryTextFile) 

End Sub 

Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click 

    ListBox1.Items.Add(TextBox1.Text + "," + TextBox2.Text + "," + TextBox3.Text) 
End Sub 

Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click 

    ListBox1.Items.Remove(ListBox1.SelectedItem) 


End Sub 
+0

但如果我刪除列表框中的整個部分,可以刪除列表框中的項目。只有當我使用拆分或其他方法來分隔字符串,它會得到錯誤 –

回答

1

當你按下Button2請從ListBox一個項目,該ListBox1SelectedIndexChanged被調用。在那裏,選定的項目將是沒有任何東西,所以要解決這個問題,請在分配字符串變量之前在SelectedIndexChanged event內添加以下幾行。

If ListBox1.SelectedItem Is Nothing Then 
     Exit Sub 
    End If 
+0

它不起作用...但如果我刪除列表框中的整個部分,可以刪除列表框中的項目。只有當我使用拆分或其他方法分隔字符串時,它會得到錯誤 –

+0

使用此代碼後會出現什麼錯誤? –

+0

解決了,它把你的代碼放在最上面。 Thx –

0

試試這個:

listbox.selecteditem.remove() 

這將刪除listbox選定的項目。