".RestoreDirectory"不起作用

Shi*_*bli 2 c# fileopendialog

在下面的代码我设置ofd1.RestoreDirectoryfalse不过,该对话框打开inital目录每次.有什么东西我不知道吗?

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;
    }
}
Run Code Online (Sandbox Code Playgroud)

Tig*_*ran 9

来自MSDN文档 RestoreDirectory

获取或设置一个值,该值指示对话框在关闭之前是否还原当前目录.

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

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