我有这个代码将文本框中的一些数据写入文本文件。而我正在使用streamwriter来做到这一点。在这里您可以看到以下代码:
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim Save As New SaveFileDialog()
Dim myStreamWriter As System.IO.StreamWriter
Save.Filter = "Text [*.txt*]|*.txt|All Files [*.*]|*.*"
Save.CheckPathExists = True
Save.Title = "Export & Save - FNG"
Save.FileName = txtTitle.Text & " - Plugs Details File Exported"
Save.ShowDialog(Me)
Try
myStreamWriter = System.IO.File.AppendText(Save.FileName)
myStreamWriter.Write("Details of Plugs:" & Environment.NewLine & txtDetails.Text & Environment.NewLine & DateAndTime.Now)
myStreamWriter.Flush()
Catch ex As Exception
End Try
End Sub
代码工作正常,它也将细节保存到文本文件中。但问题是当我取消保存文件对话框(不保存文本文件)时,它会在应用程序启动路径中创建一个文件。为什么会这样?我究竟做错了什么?我该如何纠正这个?
答案 0 :(得分:1)
尝试
If Save.ShowDialog(Me) <> DialogResult.Ok Then Return
取消对话框不会自动使您的Sub返回!
此外,您使用StreamWriter
错误。使用
Using myStreamWriter As System.IO.StreamWriter = System.IO.File.AppendText(Save.FileName)
myStreamWriter.Write("Details of Pish flaps:" & Environment.NewLine & txtDetails.Text & Environment.NewLine & DateAndTime.Now)
End Using
然后移除Dim
的{{1}}。这将确保即使抛出异常,StreamWriter
也会关闭。