首页 文章

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

提问于
浏览
0

好的,所以我在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)然而,这不是该语句内的选项 .

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

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

任何帮助将不胜感激!

2 回答

  • 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
    
  • 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 添加到文件中 .

    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.
    

相关问题