首页 > 解决方案 > VB.Net 保存按钮未将数据添加到文本文件

问题描述

我还是 VB.Net 的新手,并且已经坚持了一个多小时。我正在尝试创建一个库存管理系统,其中会打开一个表单供用户输入 pc 规格,当我单击保存时将保存到文本文件中,以便将其读入 Inventory Tracker 屏幕。每个文本框都被禁用并在更新时附加文本。

目前什么都没有发生,我在与项目相同的目录中创建了文本文件。为什么是这样?

我还尝试在文本文件中放置一条测试消息以显示在跟踪器文本框中,这就是我保存规格时会发生的情况,但是没有出现任何消​​息?

frmItemEntry.vb

Private Sub btnSave_Click(sender As Object, e As EventArgs) Handles btnSave.Click

    Dim objMyStreamReader As System.IO.StreamReader
    Dim objMyStreamWriter As System.IO.StreamWriter = System.IO.File.CreateText("inventory.txt")

    Dim strInventory As String

    objMyStreamWriter.WriteLine(txtManufacturerEntry)
    objMyStreamWriter.WriteLine(txtProcessorEntry)
    objMyStreamWriter.WriteLine(txtVideoEntry)
    objMyStreamWriter.WriteLine(txtFormEntry)
    objMyStreamWriter.WriteLine(txtRamEntry)
    objMyStreamWriter.WriteLine(txtVramEntry)
    objMyStreamWriter.WriteLine(txtHdEntry)
    objMyStreamWriter.WriteLine(chkWirelessEntry)
    objMyStreamWriter.Close()

    Me.Close()

End Sub

frmTracker.vb

Private Sub txtManufacturer_TextChanged(sender As Object, e As EventArgs) Handles txtManufacturer.TextChanged
    Dim streamReader As New System.IO.StreamReader("inventory.txt")
    Dim strInventory As String
    streamReader = System.IO.File.OpenText("inventory.txt")
    strInventory = streamReader.ReadLine
    txtManufacturer.AppendText(strInventory)
End Sub

标签: .netvb.netvisual-studio-debugging

解决方案


您确定正在查看正确的文件吗?

当您在 VS 中构建和运行 .NET 项目时,它会将代码编译到项目下的子文件夹中(通常bin\Debug在您处于调试模式时),并在那里复制所有相关的人工制品,例如文本文件 - 类似于 if您正在将最终的可执行文件部署到它将真正运行的地方。这成为程序运行时的根目录。

我希望它实际上是在更新该子目录中的文件副本,而不是在您的源代码所在的文件夹中。


推荐阅读