在以下代码中,我将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;
    }
}

最佳答案

来自RestoreDirectory的MSDN文档


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


因此,此属性用于还原OS当前目录。

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

关于c# - “.RestoreDirectory”不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9295739/

10-13 08:17