.net - 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
解决方案
您确定正在查看正确的文件吗?
当您在 VS 中构建和运行 .NET 项目时,它会将代码编译到项目下的子文件夹中(通常bin\Debug
在您处于调试模式时),并在那里复制所有相关的人工制品,例如文本文件 - 类似于 if您正在将最终的可执行文件部署到它将真正运行的地方。这成为程序运行时的根目录。
我希望它实际上是在更新该子目录中的文件副本,而不是在您的源代码所在的文件夹中。