OpenFileDialog未处理的异常

时间:2016-06-02 13:52:20

标签: vb.net openfiledialog

我使用模块中的OpenFileDialog在VS2013中工作,它运行一次很棒。如果用户再次打开它,则会显示以下错误:

  

“ArgumentException未处理

     

发生了'System.ArgumentException'类型的未处理异常   System.Windows.Forms.dll中

     

附加信息:预计正长度“

我的代码:

Dim fd As OpenFileDialog = New OpenFileDialog()
Try
    With fd
        .Title = "Select File Dialog"
        .InitialDirectory = str_PathFileName
        .FileName = Path.GetFileName(str_PathFileName)
        .Filter = "All files (*.*)|*.*"
        .Multiselect = False
        .RestoreDirectory = True
        If (.ShowDialog() = DialogResult.OK) Then
        ...

错误发生在ShowDialog行。我错过了什么?

2 个答案:

答案 0 :(得分:0)

您的变量名str_PathFileName可能为空。检查是你的好路径。

           Dim fd As OpenFileDialog = New OpenFileDialog()
            Dim str_PathFileName As String = "C:\"  'put your valid path

            With fd
                    .Title = "Select File Dialog"
                    .InitialDirectory = str_PathFileName
                    .FileName = IO.Path.GetFileName(str_PathFileName)
                    .Filter = "All files (*.*)|*.*"
                    .Multiselect = False
                    .RestoreDirectory = True
                    If (.ShowDialog() = DialogResult.OK) Then

                    End If

                End With

这应该通过

答案 1 :(得分:0)

您的代码在我只需要您的代码的简单Sub()中运行正常 - 尝试将代码移动到按钮单击事件并查看它是否失败。

这是一种可以更好地清理事物的变体:

{{1}}