WPF中使用文件浏览对话框的几种方式
2015-11-25 11:29
344 查看
原文:WPF中使用文件浏览对话框的几种方式
WPF本身并没有为我们提供文件浏览的控件, 也不能直接使用Forms中的控件,而文件浏览对话框又是我们最常用的控件之一. 下面是我实现的方式
方式1: 使用win32控件OpenFileDialog
?
与之类似的还有 Microsoft.Win32.SaveFileDialog
方式2: 使用Forms中的OpenFileDialog控件
WPF中是不能直接使用Forms中的控件的,否则会提示找不到Forms名字控件. 如果你仍然要用, 答案便是添加.net 引用reference
之后就可以像下面一样正常使用Forms中的控件了
?
类似的有文件夹浏览对话框:
?
方式三: 使用win32 api
使用这种方式, 你需要自己实现LPOPENFILENAME结构和对GetOpenFileName方法就行封装:
?
之后的工作就是实例化、初始化和方法调用了:
?
方式四: 自己写控件(王道)或者使用第三方控件
第一种方式由于不能自己输入路径, 只能通过鼠标在treeview中进行选择, 十分的不喜欢;第三种稍微复杂;第四种有待考察,听说的第三方有SystemWrapper和WAF; 所以暂时选择第二种.
WPF本身并没有为我们提供文件浏览的控件, 也不能直接使用Forms中的控件,而文件浏览对话框又是我们最常用的控件之一. 下面是我实现的方式
方式1: 使用win32控件OpenFileDialog
?
方式2: 使用Forms中的OpenFileDialog控件
WPF中是不能直接使用Forms中的控件的,否则会提示找不到Forms名字控件. 如果你仍然要用, 答案便是添加.net 引用reference
之后就可以像下面一样正常使用Forms中的控件了
?
?
BOOL WINAPI GetOpenFileName( __inout LPOPENFILENAME lpofn)
使用这种方式, 你需要自己实现LPOPENFILENAME结构和对GetOpenFileName方法就行封装:
?
?
第一种方式由于不能自己输入路径, 只能通过鼠标在treeview中进行选择, 十分的不喜欢;第三种稍微复杂;第四种有待考察,听说的第三方有SystemWrapper和WAF; 所以暂时选择第二种.
相关文章推荐
- 程序设计——冲突
- Stream流的读取使用
- 【转】各种开源协议及其关系
- Android 使用ViewPager自动滚动循环轮播效果
- asp.net基于windows服务实现定时发送邮件的方法
- RegexBuddy图文使用教程
- 解压静态库.a文件
- 如何使用免费控件将Word表格中的数据导入到Excel中
- 如何用Fiddler对Android应用进行抓包
- C#中 += (s, e) => 这些字符什么意思
- mysql 对取当前日期周一和周日语句的详细解析
- python基础知识小结之集合
- java上转型
- 【NCRE项目】C#实现TabControl切换打开不同文件夹
- QSettings 与中文(反斜杠 转义)
- CentOS安装Code::Blocks
- GCD实现倒计时
- php工程师的发展
- Android端百度地图API使用详解
- jedispool 连 redis 高并发卡死 解决方案