none
winform FolderBrowserDialog小疑问 RRS feed

  • 问题

  • FolderBrowserDialog方法 ShowDialog(), 如何实现弹出来窗体如图2效果

    这是默认ShowDialog()效果

    这个是其他软件上某一个功能点击弹出来选择文件夹,在新建文件夹上多了一个 “文件夹(F)” 和一个文本框,想实现这个效果,不知道如何实现


    啥叫乐观-得瑟的最高境界

    2014年6月19日 3:27

答案

  • 有一个办法是通过重写FolderBrowserDialog类来实现,还有一个现成的办法是调用Windows API Code Pack里面提供的现成的支持Windows Vista/7风格的文件夹选择窗口,跟你第二个图片中的是一样的,我测试了下,在Win8/8.1下面也正常运行。

    代码如下:

    using (Microsoft.WindowsAPICodePack.Dialogs.CommonOpenFileDialog folderDialog = new Microsoft.WindowsAPICodePack.Dialogs.CommonOpenFileDialog())
                {
                    folderDialog.IsFolderPicker = true;
                    if (folderDialog.ShowDialog() == CommonFileDialogResult.Ok)
                    {
                        string folder = folderDialog.FileName;
                    }
                }

    类库可以从Nuget中搜索"Windows API Code Pack"下载安装。


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    2014年6月20日 8:31
    版主

全部回复

  • 等答案。。。。。。。。。。。。。。。。。。。

    啥叫乐观-得瑟的最高境界

    2014年6月20日 3:14
  • 有一个办法是通过重写FolderBrowserDialog类来实现,还有一个现成的办法是调用Windows API Code Pack里面提供的现成的支持Windows Vista/7风格的文件夹选择窗口,跟你第二个图片中的是一样的,我测试了下,在Win8/8.1下面也正常运行。

    代码如下:

    using (Microsoft.WindowsAPICodePack.Dialogs.CommonOpenFileDialog folderDialog = new Microsoft.WindowsAPICodePack.Dialogs.CommonOpenFileDialog())
                {
                    folderDialog.IsFolderPicker = true;
                    if (folderDialog.ShowDialog() == CommonFileDialogResult.Ok)
                    {
                        string folder = folderDialog.FileName;
                    }
                }

    类库可以从Nuget中搜索"Windows API Code Pack"下载安装。


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    2014年6月20日 8:31
    版主
  • ths,来晚了,看来已经都结帖了


    啥叫乐观-得瑟的最高境界

    2014年6月27日 3:33
  • Windows API Code Pack里面的文件夹浏览窗口应该调用的底层的windows的api,你可以查一下那个api可以弹出这样风格的窗口。

    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    2014年6月30日 8:43
    版主