当openfiledialog使用无效目录时如何使用消息框

时间:2014-11-11 03:19:27

标签: c# openfiledialog

我正在尝试创建一个非常非常简单的文件浏览器,只是为了让我的新手c#在实践中和一个项目稍后扩展,但是当输入无效目录时我似乎无法执行代码。使用我当前的代码,它会重定向到Documents。当我按下取消时,它会返回到文档。如果我再次取消,它会显示我指定的错误。

我目前的代码是

private void button1_Click(object sender, EventArgs e)
{
    string dir = textBox1.Text;
    openFileDialog1.InitialDirectory = dir;
    DialogResult result = openFileDialog1.ShowDialog();
    if (openFileDialog1.ShowDialog() == DialogResult.OK)
    { 

    }
    else
    { 
        MessageBox.Show("Please Choose a valid directory.");
    }
}

对此有任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

每次拨打ShowDialog()时,都会显示OpenFileDialog框,并且您将其调用两次。

第一次,您将用户的选择存储在result中,但不对其进行任何其他操作。你可以点击OK或取消这个 - 它没有任何区别。您将始终到达以下行,再次提示用户。

DialogResult result = openFileDialog1.ShowDialog();

第二次,你实际测试结果并采取一些行动。希望在一个真实的应用程序中,可以进一步测试该目录是否有效,而不仅仅是用户按下"取消"。

if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
    ...

如果您以后不需要result,我建议您删除第一行。