如果执行dialog.result.Cancel,请执行以下操作

时间:2019-03-28 12:07:26

标签: vb.net

下面是我的代码。每当用户在saveialog.showdialog()屏幕中单击“取消”时,它仍会尝试保存zip文件,对您有所帮助!

谢谢

Kyvex

        If saveFileDialog1.ShowDialog() = System.Windows.Forms.DialogResult.Cancel Then
            Return
        Else
            zip.Save(zippath)
        End If

3 个答案:

答案 0 :(得分:0)

可以尝试这样的事情吗?如果只是一个简单的是/否/取消框?

 Dim result As Integer = MessageBox.Show("message", "caption", MessageBoxButtons.YesNoCancel)
    If result = DialogResult.Cancel Then
        *whatever you want
    ElseIf result = DialogResult.No Then
        *whatever you want
    ElseIf result = DialogResult.Yes Then
        *whatever you want
    End If

只是看到那是一个savefile对话框,所以要做的事情与此类似

If SaveFileDialog1.ShowDialog() = DialogResult.Ok
    zip.Save(zippath)
Else
    msgbox.show("Cancelled!")
End If

或其他选项可能是

Select Case SaveFileDialog1.ShowDialog()
    Case DialogResult.Ok
        zip.Save(zippath)
    Case DialogResult.Cancel
        msgbox.show("Cancelled!")
End Select

答案 1 :(得分:0)

使用DialogResult.OK更为有效,因为仅在单击“确定”后才会写入文件

If SaveFileDialog.ShowDialog = DialogResult.OK Then
    zip.Save(zippath)
Else
    Return 
End If

有几种取消文件保存的方法,在某些方法中,对话框结果不是“取消”。

答案 2 :(得分:0)

感谢所有帮助!但是我确实找到了解决方法。我所做的就是像这样将变量设置为saveFileDialog1.ShowDialog()

Dim tempvar = saveFileDialog1.ShowDialog()

然后我为DialogResult发生时设置一个断点。当用户单击“取消”或右上角的X时,会将tempvar设置为false,但如果单击“保存”,则将其设置为true,因此下面是我编写的代码,效果很好!

If tempvar = False Then
    Return
Else
    zip.Save(zippath)
End If

感谢所有帮助人员!非常感谢你!