在Visual Studio 2008中,有一个文件夹浏览器对话框,看起来像这样(非常类似于文件打开对话框):
的数据有人知道如何从代码中调用它吗?
ut6juiuv1#
如果您使用的是C#,则此解决方案非常适合您。此处提供的源代码:http://www.lyquidity.com/devblog/?p=136(.NET Win 7样式的文件夹选择对话框)。【更新:如果站点死了,这里有一个wayback machine link。】它是如何工作的?事实证明,.NET中提供了显示类似Vista的对话框的功能,但这些方法不是公共的。因此,ShowDialog()方法使用反射调用CreateVistaDialog并传入所有参数。实现这一点的技术来自Google代码项目FED。你不需要像VistaBridge那样使用一个完整的库,或者一个Windows API代码包,就可以得到一个漂亮的文件夹对话框,只需要两个小的源文件。给你一个很好的文件夹对话框,如下所示:
的数据
qyzbxkaa2#
最后我只是使用VistaBridge库打开它。
9q78igpj3#
这是SHBrowseForFolder的pinvoke吗,带有BIF_NEWDIALOGSTYLE样式?如果是这样的话,在这个页面上有一个例子。
tgabmvqs4#
将FolderBrowserDialog组件从“工具箱”的“对话框”选项卡拖到窗体上。将此代码添加到按钮处理程序中。
if (folderBrowserDialog1.ShowDialog() == DialogResult.OK) { this.label1.Text = folderBrowserDialog1.SelectedPath; }
字符串
4条答案
按热度按时间ut6juiuv1#
如果您使用的是C#,则此解决方案非常适合您。此处提供的源代码:http://www.lyquidity.com/devblog/?p=136(.NET Win 7样式的文件夹选择对话框)。【更新:如果站点死了,这里有一个wayback machine link。】
它是如何工作的?事实证明,.NET中提供了显示类似Vista的对话框的功能,但这些方法不是公共的。因此,ShowDialog()方法使用反射调用CreateVistaDialog并传入所有参数。实现这一点的技术来自Google代码项目FED。
你不需要像VistaBridge那样使用一个完整的库,或者一个Windows API代码包,就可以得到一个漂亮的文件夹对话框,只需要两个小的源文件。给你一个很好的文件夹对话框,如下所示:
的数据
qyzbxkaa2#
最后我只是使用VistaBridge库打开它。
9q78igpj3#
这是SHBrowseForFolder的pinvoke吗,带有BIF_NEWDIALOGSTYLE样式?如果是这样的话,在这个页面上有一个例子。
tgabmvqs4#
将FolderBrowserDialog组件从“工具箱”的“对话框”选项卡拖到窗体上。将此代码添加到按钮处理程序中。
字符串