.NET 制作类FileDialog的ForderBrowserDialog

本文介绍两种方法来修改Windows 7中文件夹选择对话框的样式,使其更接近于文件打开对话框的界面风格。一种是使用第三方库Ookii.Dialogs,另一种则是通过Office样式的对话框实现,后者需要引入Microsoft Office Interop Excel库。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  我们都知道win 7中,打开文件的对话框和浏览文件夹的对话框是不一样的,最近同事有个需求就是将浏览文件夹的对话框做成类似打开文件对话框一样的界面,然后在网上搜了一下,发现了两种解决的方法。

第一种就是引入第三方库Ookii.Dialogs ,这个库提供了源码以及其调用方式。很简单,做出来的界面如下图:



但是这种方法有个缺陷,就是系统必须是vista以后的系统版本,如果在XP上可能就不奏效了,不过我没在XP上试过,应该是不行的。

第二种方法就是引入office风格的对话框,具体方法首先在工程上引入Microsoft Office 15.0 Object Library,Microsoft.Office.Interop.Excel这俩库,前面应该是一个com组件,然后在需要调用对话框的地方敲入如下代码:

Microsoft.Office.Interop.Excel.Application app = new Microsoft.Office.Interop.Excel.Application();
Microsoft.Office.Core.FileDialog fileDialog = app.get_FileDialog(Microsoft.Office.Core.MsoFileDialogType.msoFileDialogFolderPicker);
fileDialog.InitialFileName = "c:\\Temp\\"; //something you want
int nres = fileDialog.Show();
if (nres == -1) //ok
{
    Microsoft.Office.Core.FileDialogSelectedItems selectedItems = fileDialog.SelectedItems;

    string[] selectedFolders = selectedItems.Cast<string>().ToArray();

    if (selectedFolders.Length > 0)
    {
        string selectedFolder = selectedFolders[0];
    }
}

最终的界面是这样的:



这个左上角的图标看起来就有点恶心了,不知道能不能去除掉。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值