【问题标题】:Prevent Error Message from Appearing When Hitting Cancel of Opening a File防止点击取消打开文件时出现错误消息
【发布时间】:2013-11-04 07:49:42
【问题描述】:

这看起来很简单,但我一直试图让它正常工作,但我就是做不到。这是原始代码:

ofd = new OpenFileDialog();

if (ofd.ShowDialog() == DialogResult.OK)
{
     mFileName = ofd.FileName;
}

问题是,如果用户点击对话框上的取消按钮,那么我的一堆其他代码会继续执行,例如打开数据库连接等,因为用户选择了取消,所以这是不必要的。于是我又试了:

if (ofd.ShowDialog() == DialogResult.Cancel)
{
    return;
}
else if (ofd.ShowDialog() == DialogResult.OK)
{
    mFileName = ofd.FileName;
}

虽然这可以防止之前的问题,但会出现另一个问题。如果用户选择取消,它将停止。但随后它将打开第二个对话框,它不应该。

我似乎不能只打开一个对话框,如果用户点击取消返回,否则如果用户点击打开,那么它会继续。谢谢。

【问题讨论】:

    标签: c# winforms


    【解决方案1】:

    这里的问题是您多次调用ShowDialog()。它返回一个 DialogResult 枚举,因此您可以将其存储在一个变量中,如下所示:

    DialogResult result = ofd.ShowDialog();
    

    然后您可以多次处理它而无需再次显示对话框:

    if(result == DialogResult.OK) {
        // OK!
    }
    else if(result == DialogResult.Cancel) {
        return; // Exit function
    }
    else {
        // Anything else you need to do
    }
    

    【讨论】:

    • 是的。更有意义。谢谢。
    猜你喜欢
    • 2017-10-02
    • 2022-01-19
    • 1970-01-01
    • 1970-01-01
    • 2016-03-25
    • 1970-01-01
    • 2023-03-05
    • 2020-06-13
    • 2023-03-27
    相关资源
    最近更新 更多