自动删除列表框中的空白项目?

时间:2012-04-29 23:09:46

标签: vb.net

我有一个listbox,由于附加了一个读取文本文件的textbox文本,因此不断创建空项目。

我可以在启动时删除所有空项吗?

2 个答案:

答案 0 :(得分:4)

如果要在启动加载时从列表框中删除空项目 表单使用Form1_Load事件

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

然后在此事件中添加此代码

Dim i As Integer = 0
        Do While (ListBox1.Items.Count) - 1 >= i
            If String.IsNullOrEmpty(ListBox1.Items(i)) Then
                ListBox1.Items.Remove(ListBox1.Items(i))
                i -= 1
            End If
            i += 1
        Loop

你可以更换条件声明
String.IsNullOrEmpty(ListBox1.Items(i))  同 ListBox1.Items(i) = String.Empty

答案 1 :(得分:0)

最好在您阅读文件时过滤掉空行。如果那是不可能的,那么:

For i As Integer = 0 To yourListBox.Items.Count - 1
    If CStr(yourListBox.Items(i)) = String.Empty Then
        yourListBox.Items.RemoveAt(i)
        i -= 1
    End If
Next

如果您控制添加,那么假设您正在添加这样的内容:

For Each line As String In IO.File.ReadAllLines(somefile)
    yourListBox.Items.Add(line)
Next

...然后你走了:

For Each line As String In IO.File.ReadAllLines(somefile)
    If line <> String.Empty Then yourListBox.Items.Add(line)
Next