FileDialog.RestoreDirectory属性实际上做了什么?我已经在MSDN上阅读了有关该属性的信息,但我仍然不明白它的作用。获取或设置一个值,该值指示对话框在关闭前是否恢复当前目录。这到底是什么意思?“恢复”当前目录的实际作用是什么?感谢您的帮助。IIRC,在WindowsXP中按SaveFileDialog(或OpenFileDialog上的Open)时,保存(或打开)文件的目录将设置为新的当前工作目录(Environment.CurrentDirectory目录)。通过设置FileDialog.RestoreDirectory=true,关闭FileDialog时将恢复原始工作目录。在WindowsVista/Seven中,行为始终是FileDialog.RestoreDirectory=true(是的,即使您将其设置为false...)。原始实现的一个令人讨厌的怪癖是应用程序的当前目录在您选择后更改为该文件夹,这意味着如果您希望文件操作相对于您的应用程序文件夹,它现在会失败。这意味着通常的做法是在使用对话框之前添加代码以捕获当前文件夹,并在以后恢复它。这是固定的,因此它会为您执行此操作,但更改默认行为可能会破坏依赖于怪癖的代码。因此,您需要通过此属性手动启用它。如果设置为true,文件对话框将始终打开到默认文件路径(InitialDirectory属性)。当您在使用对话框时可以选择目录时,下次使用该对话框时它将在上次使用的目录中打开。使用此选项将恢复原始目录。在这里,我只谈论WinFormsFileDialog,WPFFileDialog可能有不同的行为。对于WinXP,当前目录在使用对话框的过程中发生变化。对于多线程应用程序,必须注意这一点。当使用对话框切换到另一个文件夹时,通过在新线程中运行循环来检查当前目录是否被检查很容易证明。对于Win7/mono,在使用该对话框期间或之后不会更改当前目录。因此,不需要Win7/mono:RestoreDirectory属性。以上就是C#学习教程:FileDialog.RestoreDirectory属性到底有什么作用?如果所有分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
