2

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;
    }
}
4

1 回答 1

10

来自 MSDN 文档RestoreDirectory

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

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

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

于 2012-02-15T15:11:42.270 回答