我正在尝试创建一个非常非常简单的文件浏览器,只是为了让我的新手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.");
}
}
对此有任何帮助将不胜感激。
答案 0 :(得分:0)
每次拨打ShowDialog()
时,都会显示OpenFileDialog框,并且您将其调用两次。
第一次,您将用户的选择存储在result
中,但不对其进行任何其他操作。你可以点击OK或取消这个 - 它没有任何区别。您将始终到达以下行,再次提示用户。
DialogResult result = openFileDialog1.ShowDialog();
第二次,你实际测试结果并采取一些行动。希望在一个真实的应用程序中,可以进一步测试该目录是否有效,而不仅仅是用户按下"取消"。
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
...
如果您以后不需要result
,我建议您删除第一行。