C#OpenFileDialog锁定目录

我正在制作一个软件,只需要允许人们使用OpenFileDialog选择文件和文件夹,这些文件和文件夹与程序位于同一目录中并位于更深的文件夹中。 我不希望OpenFileDialog能够选择程序当前目录之外的东西。 使用OpenFileDialog可以在C#中做到这一点吗?

请告诉我

谢谢

您可以选择后检查路径是否正确

如果它只是接受或发送消息框告诉他你选择不同的目录

我没有看到OpenFileDialog控件的任何开箱即用支持。 但是,您可以尝试以下方式,

将InitialDirectory属性设置为您的程序路径。 然后,如果用户选择程序路径之外的特定路径,请使用FileOk事件检查并将其带回InitialDirectory。

如果你想要更多的控制,那么你将不得不编写自定义对话框。

这就是我做到的。

openFileDialog1.InitialDirectory = Path.Combine(Path.GetDirectoryName(Application.StartupPath), "FolderName"); if (openFileDialog1.ShowDialog() == DialogResult.OK) { while(Path.GetDirectoryName(openFileDialog1.FileName) != Path.Combine(Path.GetDirectoryName(Application.StartupPath), "FolderName")){ MessageBox.Show("Please select .EXE which is in the default folder", "Wrong folder", MessageBoxButtons.OK, MessageBoxIcon.Information); openFileDialog1.ShowDialog(); } } 

我怕你不能。 大多数人为此场景创建了自己的自定义对话框。