使用SaveFileDialog将数据保存到文本文件?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用SaveFileDialog将数据保存到文本文件?相关的知识,希望对你有一定的参考价值。
我已经看过MSDN Example,但我仍然遇到问题。
我创建了一个超级简单的程序来乘以两个数字,并在文本框中显示输出。现在我需要能够读取该文本框值并将值放入文本文件中,在单击“保存到文件”按钮时打开保存到文件对话框。
Private Sub MutiplyBtn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MutiplyBtn.Click
Dim FirstNum As Double = Num1.Text
Dim SecondNum As Double = Num2.Text
Dim Answer2 As Double = FirstNum * SecondNum
Answerbox.Text = Answer2
End Sub
Private Sub SaveResultToFile_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SaveResultToFile.Click
Dim myStream As Stream
Dim saveFileDialog1 As New SaveFileDialog()
saveFileDialog1.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*"
saveFileDialog1.FilterIndex = 2
saveFileDialog1.RestoreDirectory = True
If saveFileDialog1.ShowDialog() = DialogResult.OK Then
myStream = saveFileDialog1.OpenFile()
If (myStream IsNot Nothing) Then
System.IO.File.WriteAllText(Answerbox.Text)
myStream.Close()
End If
End If
End Sub
目前,Visual Studio给了我一个错误:Overload resolution failed because no accessible 'WriteAllText' accepts this number of arguments.
答案
WriteAllText静态方法需要应写入数据的文件的名称。 您可以直接使用saveFileDialog1中选择的名称
If saveFileDialog1.ShowDialog() = DialogResult.OK Then
System.IO.File.WriteAllText(saveFiledialog1.FileName, Answerbox.Text)
End If
相反,如果你真的想要使用OpenFile()方法打开的流你的代码应该是
If saveFileDialog1.ShowDialog() = DialogResult.OK Then
Dim sw As StreamWriter = new StreamWriter(saveFileDialog1.OpenFile())
If (sw IsNot Nothing) Then
sw.WriteLine(Answerbox.Text)
sw.Close()
End If
End If
代码就是一个例子,你需要添加一些错误处理
另一答案
嗨,我尝试了上面的方法,但我以这种方式成功....
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
SaveFileDialog1.Filter = "TXT Files (*.txt*)|*.txt"
If SaveFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK _
Then
My.Computer.FileSystem.WriteAllText _
(SaveFileDialog1.FileName, RichTextBox1.Text, True)
End If
End Sub
以上是关于使用SaveFileDialog将数据保存到文本文件?的主要内容,如果未能解决你的问题,请参考以下文章
如何将EXCEL表内每行的数据复制到文本文档内,但文本里显示不要分行,以,号隔开就行了
如何使用 SaveFileDialog 将字符串生成器的内容保存到文本文件?