【WinForm】使用选择文件的窗口样式选择文件夹
使用选择文件的窗口样式选择文件夹
零、需求
传统的选择文件夹的方式太小了,不好操作,不过选择文件的方式倒是挺不错的,能不能把选择文件夹的方式改为选择文件这种样式呢?
- 选择文件夹

- 选择文件

壹、解决
1. 通过 WindowsAPICodePack 解决
安装
在VS中选择 “工具” -> “NuGet 包管理器” -> “程序包管理器控制台” 输入如下命令安装 WindowsAPICodePack 1.1.2 。
NuGet\Install-Package WindowsAPICodePack -Version 1.1.2
或者通过以下链接下载:
https://www.nuget.org/api/v2/package/WindowsAPICodePack/1.1.2
或者下载我上传到博客园的资源:
下载好后安装好即可。
使用
var commonOpenFileDialog = new CommonOpenFileDialog
{
IsFolderPicker = true, //设置为true为选择文件夹,设置为false为选择文件
Title = "选择文件夹",
InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles)
};
var result = commonOpenFileDialog.ShowDialog();
if (result == CommonFileDialogResult.Ok)
{
string str = commonOpenFileDialog.FileName;
MessageBox.Show(str);
}
效果

2. 通过Ookii解决
安装
在VS中选择 “工具” -> “NuGet 包管理器” -> “程序包管理器控制台” 输入如下命令安装 Ookii.Dialogs.WinForms 1.0.0 (.Net版本需要4.5及以上)。
NuGet\Install-Package Ookii.Dialogs.WinForms -Version 1.0.0
或者通过以下链接下载:
https://www.nuget.org/api/v2/package/Ookii.Dialogs.WinForms/1.0.0
或者下载我上传到博客园的资源:
下载好后安装好即可。
使用
var folderDialog = new Ookii.Dialogs.WinForms.VistaFolderBrowserDialog
{
Description = "选择文件夹"
};
if (folderDialog.ShowDialog() == DialogResult.OK)
{
MessageBox.Show(folderDialog.SelectedPath);
}
效果

贰、参考资料
http://blog.baibaota.com/2062.html
http://www.ookii.org/software/dialogs/
https://blog.csdn.net/xieehu/article/details/125521885
【WinForm】使用选择文件的窗口样式选择文件夹的更多相关文章
- html5文件读取+按钮样式重置+文件内容预览
FileReader读取文件详细介绍请访问:http://www.cnblogs.com/xyyt/p/9066882.html FileReader提供了如下方法: readAsArrayBuffe ...
- DotNetBar怎样控制窗口样式
DotNetBar怎样控制窗口样式 老帅 在C#中使用控件DevComponents.DotNetBar时,怎样创建一个美丽的窗口.并控制窗口样式呢? 1.新建一个DotNetBar窗口 ...
- 基于MVC4+EasyUI的Web开发框架经验总结(14)--自动生成图标样式文件和图标的选择操作
在很多Web系统中,一般都可能提供一些图标的选择,方便配置按钮,菜单等界面元素的图标,从而是Web系统界面看起来更加美观和协调.但是在系统中一般内置的图标样式相对比较有限,而且硬编码写到样式表里面,这 ...
- 打开窗口进行选择文件(txt文件),打开所选文件,读入文件
用mfc编写项目的时候往往需要调用窗口,允许用户通过窗口进行选择文件操作 TCHAR szBuffer[MAX_PATH] = { 0 }; OPENFILENAME ofn = { 0 }; ofn ...
- C# winform文件批量转编码 选择文件夹
C# winform文件批量转编码 选择文件夹 打开指定目录 private void btnFile_Click(object sender, EventArgs e) { OpenFileDial ...
- ng-file-upload(在单文件选择,并且通过点击“上传”按钮上传文件的情况下,如何在真正选择文件之前保留上一文件信息?)
文章前面研究ng-file-upload可能涉及指令: You can use ng-model or ngf-change instead of specifying function for ng ...
- Swift基础之两种选择星星的评价样式并获取星星的索引值
想练练手,所以封装了一个两种选择星星的评价样式的Demo,并且可以获取到点击的星星的索引值,方便记录值,上传数据时使用 首先创建View类,设计初始化方法,并且用到了枚举类型和代理方法 方式一:默认的 ...
- LODOP选择路径,保存写入word文件
之前的博文介绍了lodop和c-lodop如果使用 LODOP.GET_DIALOG_VALUE弹出对话框,让用户选择路径,例如保存文件的路径,这样用户就不用手动输入想要的路径. 这一篇,是利用上一篇 ...
- tcl/tk 调用选择路径的窗口
tk_chooseDirectory -title "选择工作空间" -initialdir "D:\\" -title 指定打开后显示的title -init ...
- C#选择多个文件并读取多个文件数据
原文:C#选择多个文件并读取多个文件数据 版权声明:本文为博主原创文章,转载请附上链接地址. https://blog.csdn.net/ld15102891672/article/details/8 ...
随机推荐
- manim边做边学--动画组合
动画组合类的作用是将多个动画组合起来,以实现更复杂的动画效果. Manim中有4个用于动画组合的类: AnimationGroup:将多个动画组合在一起同时播放,能一次性呈现多个对象的不同变化 Lag ...
- 一种调试 线段树 / Treap / Splay / 左偏树 / LCT 等树形结构的技巧
前言 如果我们需要观察程序运行过程中,某一个变量.某一个序列的变化情况,你可以在修改的地方打断点 debug,或者直接在需要的地方输出就行了. 但是对于一些树形结构,我们不好将其直观地呈现出来,常常只 ...
- CDS标准视图:测量点数据 I_MeasuringPointData
视图名称:测量点数据 I_MeasuringPointData 视图类型:基础视图 视图代码: 点击查看代码 @AbapCatalog.sqlViewName: 'IMEASPOINTDATA' @A ...
- c# Polygon 画多边形,
//随机多边形:using System; using System.Collections.Generic; using System.Linq; using System.Text; using ...
- Elasticsearch(4)--- 基本概念(Index、Type、Document、集群、节点、分片及副本、倒排索引)
这篇博客讲到基本概念包括: Index.Type.Document.集群,节点,分片及副本,倒排索引. 一.Index.Type.Document 1.Index index:索引是文档(Docume ...
- linux:shell
关于shell 什么是shell? shell,是用c编写的,既是命令语言,也是一种程序设计语言 shell指一种应用程序,该程序提供一个界面,用户可通过该界面访问操作系统 什么是脚本? 脚本是一条文 ...
- Kevin pg walkthrough Easy
第二个window 靶机 尝试访问 80 web界面 然后是个登录界面 我尝试admin admin 登录成功 发现版本 发现了exp https://www.exploit-db.com/explo ...
- LOJ题目选做
你妈,机房断电写了一大堆没了 题目大概是 https://vjudge.net/contest/633974 里我做的题 和joisc2014的题
- ORACLE存储过程中使用游标+BULK COLLECT的应用
经过半天的折腾,编译通过调试结果正确,掌握此过程中的知识点,oracle存储过程编写就应用到了90%. CREATE OR REPLACE PROCEDURE JUNAN.P_IPT_QUOTN_IN ...
- 服务器主机:复杂理论的视角与SEO策略
本文分享自天翼云开发者社区<服务器主机:复杂理论的视角与SEO策略>,作者:不知不觉 在数字世界的演变中,服务器主机在信息存储和数据处理方面发挥着核心作用.本文将带你重新认识服务器主机的价 ...