我有一个sub,用户在单击按钮时打开文件对话框,然后使用文件名解压缩它(我的程序提取zip文件)。如果用户没有选择.zip文件,则会弹出一条消息,告知您选择正确的格式。这工作正常,除非他们取消了打开的文件对话框,消息仍然会弹出,如果用户取消,有没有办法退出sub?这是一些代码:
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
我对编码和论坛相对较新,如果我的代码或帖子不完全正确,我很抱歉。
答案 0 :(得分: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
答案 1 :(得分:0)
更好的方法是将OpenFileDialog限制为仅显示zip文件。
addModDialog.Filter = "zip file (*.zip)|*.zip;"
If addModDialog.ShowDialog() = DialogResult.Ok Then
...