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

本文关键字:消息 无效 openfiledialog | 更新日期: 2023-09-27 18:30:01

我正试图创建一个非常简单的文件浏览器,只是为了让我的新手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.");
    }
}

如有任何帮助,我们将不胜感激。

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

每次调用ShowDialog()时,它都会显示OpenFileDialog框,并且调用两次。

第一次,你将用户的选择存储在result中,但对它不做任何其他操作。你可以点击"确定"或"取消",这没有什么区别。您总是会看到下面一行,它会再次提示用户。

DialogResult result = openFileDialog1.ShowDialog();

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

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

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