VB如何将列表框项写入文本文件

时间:2018-03-13 00:21:04

标签: vb.net visual-studio-2010 basic

好的,我正在VB中创建一个个人待办事项列表程序(使用visual studio),我在实现将列表框中的项添加到文本文件中的函数时遇到了麻烦。

以下是我尝试的代码:

Private Sub btnAddItem_Click(sender as Object,e As EventArgs)处理btnAddItem.Click

    ''Adds item to the listbox.
    list.Items.Add(txtItem.Text)

    txtItem.Clear() ''Clears the textbox after adding item.
    txtItem.Select() ''Sets the cursor onto the textbox after adding item.

    Dim file As System.IO.StreamWriter
    file = My.Computer.FileSystem.OpenTextFileWriter("Test.txt", True)
    file.WriteLine(list.Items)
    file.Close()

End Sub

我也试过; file.WriteLine(list.Items.Text)然而,这不是该语句内的选项。

该按钮不会保存列表的方式,但我只是想让测试文件首先正确写入。如果输入以下内容,则会创建测试文件: 测试1 测试2 test 3在列表框中,Test.txt文件只显示:

System.Windows.Forms.ListBox+ObjectCollection
System.Windows.Forms.ListBox+ObjectCollection
System.Windows.Forms.ListBox+ObjectCollection

任何帮助将不胜感激!

2 个答案:

答案 0 :(得分:0)

将所有项目添加到列表框后,您需要在循环中单独处理每个项目。

Private Sub WriteListItems()
        Dim lst As String = ""
        For Each item As String In ListBox1.Items
            lst &= item & vbCrLf
        Next
        Debug.Print(lst)
End Sub

答案 1 :(得分:0)

您需要循环ListBox中的每个项目并将其添加到Test.txt。你可以用不同的方法。

Private Sub putItem()
    For Each i In list.Items
        Dim file As System.IO.StreamWriter
        file = My.Computer.FileSystem.OpenTextFileWriter("Test.txt", True)
        file.WriteLine(i)
        file.Close()
    Next
End Sub

如果您希望在每次单击按钮时在Test.txt中添加Item,就像您的示例中一样。您可以将代码file.WriteLine(list.Items)替换为file.WriteLine(txtItem.Text)并将txtItem.Clear()移至ButtonClick()的末尾,以便在清除之前将txtItem.Text添加到文件中。< / p>

list.Items.Add(txtItem.Text)

Dim file As System.IO.StreamWriter
file = My.Computer.FileSystem.OpenTextFileWriter("Test.txt", True)
file.WriteLine(txtItem.Text)
file.Close()

txtItem.Clear() ''Clears the textbox after adding item.
txtItem.Select() ''Sets the cursor onto the textbox after adding item.