Mat*_*att 4 vb.net text dialog file save
我已经查看了MSDN 示例,但仍然遇到问题。
我创建了一个超级简单的程序来将两个数字相乘,并在文本框中显示输出。现在我需要能够读取该文本框值并将该值放入文本文件中,当单击“保存到文件”按钮时打开“保存到文件”对话框。
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
Run Code Online (Sandbox Code Playgroud)
目前,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
Run Code Online (Sandbox Code Playgroud)
相反,如果您确实想使用 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
Run Code Online (Sandbox Code Playgroud)
该代码是一个示例,您需要添加一些错误处理
| 归档时间: |
|
| 查看次数: |
27407 次 |
| 最近记录: |