【发布时间】:2019-12-30 09:49:29
【问题描述】:
对于我正在编写的应用程序,用户必须选择一个文件夹,其中包含该应用程序使用的一些日志文件。为了更直观,我希望他们能够看到文件夹中的文件,但当然仍然只能选择文件夹。
所以我的问题是,我怎样才能让对话框只打开文件夹,但仍然显示其他文件。
我已经尝试过这个帖子的解决方案,
How can I make CommonOpenFileDialog select folders only, but still show files?
但是,它似乎不适用于 Windows10,至少不适用于我和我尝试过的其他 PC。
这是我目前必须打开的:
CommonOpenFileDialog dialog = new CommonOpenFileDialog();
dialog.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
dialog.IsFolderPicker = true;
if (dialog.ShowDialog() == CommonFileDialogResult.Ok)
{ }
【问题讨论】:
-
什么不起作用?
-
如果我没记错的话,
CommonOpenFileDialog属于 Windows API Code Pack 包,它不再是 Microsoft 的官方版本(可能从未如此)。所以它可能会在未来的任何版本中停止工作。我建议不要依赖这些位。 -
@SteffenWinkler 使用链接解决方案,对话框仍然只选择文件夹但不显示其他文件。
-
@Steve 啊,我明白了。您是否会知道 C# 的替代方案?
-
不,我不知道有任何替代方案可以满足您的要求。可能另一种方法是使用两种不同的控件。在一个显示文件夹及其结构,在另一个显示从第一个控件中选择的文件。抱歉,这不是快速解决方案或您想听到的内容。
标签: c# windows-10 openfiledialog