是否有一种“简单”的方法可以从同一对话框中选择文件或文件夹?
在我创建的许多应用程序中,我都允许将文件或文件夹作为输入。 直到现在,我总是最终创建一个开关来在文件或文件夹选择对话框之间切换,或者只坚持拖放功能。
因为这看起来是一件很基本的事情,所以我想这已经被创造出来了,但是谷歌搜索并没有得到太多信息。所以看起来我需要从头开始并创建一个自定义选择对话框,但我不想通过为这样一个微不足道的任务重新发明轮子来引入任何问题。
有人有任何提示或现有解决方案吗?
为了保持 UI 的一致性,最好能扩展 OpenFileDialog(或 FolderBrowserDialog)。
最佳答案
从技术上讲,这是可能的。 FolderBrowseDialog 使用的 shell 对话框能够返回文件和文件夹。不幸的是,.NET 中没有公开该功能。甚至反射都不能戳到所需的选项标志。
要使其正常工作,您必须在 BROWSEINFO.ulFlags(值 = 0x4000)中打开 BIF_BROWSEINCLUDEFILES 标志的情况下 P/Invoke SHBrowseForFolder()。 P/Invoke 是坚韧不拔的,最好从another source 中复制并粘贴代码。或在 Reflector 的帮助下的 FolderBrowseDialog 类本身。
关于c# - 从 .NET 中的同一对话框中选择文件或文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/428410/