2013-07-25 49 views
0

我有一个子打开文件对话框,当用户点击一个按钮,然后使用文件名解压缩(我的程序提取压缩文件)。如果用户没有选择一个.zip文件,会弹出一条消息,告诉他选择正确的格式。这工作正常,除非他们取消打开的文件对话框消息仍然会弹出,所以有没有办法退出子,如果用户取消?下面是一些代码:如何关闭对话框时退出子对象?

Private Sub AddJarMod_Click(sender As Object, e As EventArgs) Handles AddJarMod.Click 
    addModDialog.ShowDialog() 
    newJarModDir = addModDialog.FileName 
    newJarMod = System.IO.Path.GetFileNameWithoutExtension(newJarModDir) 
    If System.IO.Path.GetExtension(newJarModDir) = ".zip" Then 
     jarModList.Items.Add(newJarMod) 
     devConsoleList.Items.Add(newJarModDir) 
    ElseIf System.IO.Path.GetExtension(newJarModDir) <> ".zip" Then 
     MsgBox("File extension not a zip") 
    End If 
End Sub 

我是比较新的编码和论坛很抱歉,如果我的代码或职位不完全正确。

回答

1

您只需检查从模态窗体返回的DialogResult。这样,您的代码只有在从表单中获得ok时才会执行。

Private Sub AddJarMod_Click(sender As Object, e As EventArgs) Handles AddJarMod.Click 
If addModDialog.ShowDialog() = DialogResult.Ok Then 
    newJarModDir = addModDialog.FileName 
    newJarMod = System.IO.Path.GetFileNameWithoutExtension(newJarModDir) 
    If System.IO.Path.GetExtension(newJarModDir) = ".zip" Then 
    jarModList.Items.Add(newJarMod) 
    devConsoleList.Items.Add(newJarModDir) 
    ElseIf System.IO.Path.GetExtension(newJarModDir) <> ".zip" Then 
    MsgBox("File extension not a zip") 
    End If 
End If 
End Sub 
+0

非常感谢,完美的作品! – ThatGuyJay

0

更好的方法可能是限制OpenFileDialog只显示zip文件。

addModDialog.Filter = "zip file (*.zip)|*.zip;" 
If addModDialog.ShowDialog() = DialogResult.Ok Then 
... 
相关问题