0

我是一个初学者,试图类似地复制微软的记事本,但我收到了这条消息。目前,我正在尝试对 ToolStripMenu 中的“新”项目进行编码。小结: 到目前为止,如果用户按下“新建”,系统会提示他们“是否要保存对此文档所做的更改?”,他们可以选择“否”,清除文档中的信息,或者选择“取消”,返回他们按计划回到原来的位置。但是,按“是”会给我错误“ArgumentException 未处理 - 空路径名不合法”

Private Sub NewToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles NewToolStripMenuItem.Click

    Dim intResult As Integer = Nothing
    Dim dlg As SaveFileDialog = New SaveFileDialog

    dlg.Filter = "Text File (*.txt)|*.txt"
    intResult = MessageBox.Show("Do you want to save the changes made to this document?", "Warning", MessageBoxButtons.YesNoCancel)

    If intResult = Windows.Forms.DialogResult.Yes Then
        RichTextBox1.SaveFile(dlg.FileName, RichTextBoxStreamType.RichText)
    ElseIf intResult = Windows.Forms.DialogResult.No Then
        RichTextBox1.Clear()
    Else
        Return
    End If

End Sub
4

1 回答 1

1

FileName是空的。SaveFileDialog 已声明,但从未使用过。您的代码没有多大意义,因此您可以显示对话框...

Dim dlg As SaveFileDialog = New SaveFileDialog
dlg.Filter = "Text File (*.txt)|*.txt"
dlg.Title = "Choose Text File"
dlg.ShowDialog()

intResult = MessageBox.Show("Do you want to save the changes made to this document?", "Warning", MessageBoxButtons.YesNoCancel)

保存文件对话框

或者可以检查他们是否指定了 aFileName然后运行您的逻辑。

If dlg.FileName <> "" then
'   do save logic '
End If
于 2013-03-25T20:26:43.813 回答