“.RestoreDirectory”不起作用

时间:2012-02-15 15:03:11

标签: c# fileopendialog

在下面的代码中,我将ofd1.RestoreDirectory设置为false但是,该对话框每次都会打开初始目录。有什么东西我不知道吗?

private void btnMeshFile_Click(object sender, EventArgs e)
{
    OpenFileDialog ofd1 = new OpenFileDialog();
    ofd1.Title = "Open";
    ofd1.InitialDirectory = @"c:\";
    ofd1.Filter = "All files (*.*)|*.*|All files (*.*)|*.*";
    ofd1.FilterIndex = 2;
    ofd1.RestoreDirectory = false;
    if (ofd1.ShowDialog() == DialogResult.OK)
    {
        string fileName = Path.GetFileName(ofd1.FileName);
        MeshDirectoryPath = Path.GetFullPath(ofd1.FileName).Replace(@"\", @"\\");
        txtMeshFile.Text = fileName;
    }
}

1 个答案:

答案 0 :(得分:9)

来自RestoreDirectory

的MSDN文档
  

获取或设置一个值,该值指示对话框是否恢复   关闭前的当前目录。

所以这个属性是关于恢复OS当前目录。

但是,您在代码中也使用InitialDirectory属性,每次从@"c:\";路径开始强制对话。删除它,它将解决您的问题。