WPF中使用文件浏览对话框的几种方式
2010-08-26 17:21
363 查看
WPF本身并没有为我们提供文件浏览的控件, 也不能直接使用Forms中的控件,而文件浏览对话框又是我们最常用的控件之一. 下面是我实现的方式
方式1: 使用win32控件OpenFileDialog
类似的有文件夹浏览对话框:
使用这种方式, 你需要自己实现LPOPENFILENAME结构和对GetOpenFileName方法就行封装:
方式四: 自己写控件(王道)或者使用第三方控件
第一种方式由于不能自己输入路径, 只能通过鼠标在treeview中进行选择, 十分的不喜欢;第三种稍微复杂;第四种有待考察,听说的第三方有SystemWrapper和WAF; 所以暂时选择第二种.
方式1: 使用win32控件OpenFileDialog
与之类似的还有 Microsoft.Win32.SaveFileDialog 方式2: 使用Forms中的OpenFileDialog控件 WPF中是不能直接使用Forms中的控件的,否则会提示找不到Forms名字控件. 如果你仍然要用, 答案便是添加.net 引用reference 之后就可以像下面一样正常使用Forms中的控件了 System.Windows.Forms.OpenFileDialog openFileDialog1 = new System.Windows.Forms.OpenFileDialog(); openFileDialog1.InitialDirectory = "c:\\"; openFileDialog1.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*"; openFileDialog1.FilterIndex = 2; openFileDialog1.RestoreDirectory = true; if (openFileDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK) { //此处做你想做的事 ...=openFileDialog1.FileName; }
类似的有文件夹浏览对话框:
方式三: 使用win32 api [/b] BOOL WINAPI GetOpenFileName( __inout LPOPENFILENAME lpofn)
使用这种方式, 你需要自己实现LPOPENFILENAME结构和对GetOpenFileName方法就行封装:
public class OpenFileName { public int structSize = 0] 之后的工作就是实例化、初始化和方法调用了: OpenFileName ofn = new OpenFileName(); ofn.structSize = Marshal.SizeOf(ofn); ofn.filter = "Project files\0*.xml"; ofn.file = new string(new char[256]); ofn.maxFile = ofn.file.Length; ofn.fileTitle = new string(new char[64]); ofn.maxFileTitle = ofn.fileTitle.Length; ofn.initialDir = "C:\\"; ofn.title = "Open Project"; ofn.defExt = "xml"; ofn.structSize = Marshal.SizeOf(ofn); if (LibWrap.GetOpenFileName(ofn)) { //此处做你想做的事 ...=ofn.file; }
方式四: 自己写控件(王道)或者使用第三方控件
第一种方式由于不能自己输入路径, 只能通过鼠标在treeview中进行选择, 十分的不喜欢;第三种稍微复杂;第四种有待考察,听说的第三方有SystemWrapper和WAF; 所以暂时选择第二种.
相关文章推荐
- WPF中使用文件浏览对话框的几种方式
- WPF中使用文件浏览对话框的几种方式
- WPF中使用文件浏览对话框的几种方式
- WPF中使用文件浏览对话框的几种方式
- WPF中使用文件浏览对话框
- Linux入门学习,怎么使用Vim编辑器编辑保存文件?以及查看浏览文件的几种方式介绍——(四)
- window下打开文件选择对话框和浏览对话框的方式
- 使用命令的几种打包文件方式:war、jar、rar包
- git使用之忽略不需要上传的文件的几种方式
- 使用UI Automation实现自动化测试--5 (Winfrom和WPF中弹出和关闭对话框的不同处理方式)
- VC 使用"文件浏览"对话框选择文件夹
- 使用VBS通过3种方式浏览本地文件,获取完整路径。
- iOS音频播放的几种方式,打开后台模式的音乐播放、使用AVAudioPlayer播放音乐、播放指定的音频文件、注册音频文件
- 接收get或post数据使用fwrite写入文件中,方便追踪错误;或其他几种缓存方式
- AlertDiadig对话框的几种常见的使用方式
- WPF(5)----文件浏览对话框
- 文件对话框WPF(5)----文件浏览对话框
- java读写文件的几种方式(不断完善),方便日后使用
- 使用UI Automation实现自动化测试--5 (Winfrom和WPF中弹出和关闭对话框的不同处理方式)
- eclipse使用svn插件设置忽略文件的几种方式