在WPF使用FolderBrowserDialog和OpenFileDialog

原文 在WPF使用FolderBrowserDialog和OpenFileDialog

相信习惯以前winform开发的朋友们都对FolderBrowserDialog和OpenFileDialog这两个东东不陌生,但是在我最近做的WPF项目中

才发现这两个东东在WPF中却不是默认存在的,郁闷,好歹WPF也出来几年了,咋个微软的同志不与时俱进呢。

好了,说说具体怎么用吧。

 

OpenFileDialog:

用这个东东需要引用Microsoft.Win32类库。还是老玩意可靠。

Microsoft.Win32.OpenFileDialog op = new Microsoft.Win32.OpenFileDialog();

         op.InitialDirectory = @"c:\";

          op.RestoreDirectory = true;

          op.Filter = "文本文件(*.txt)|*.txt|所有文件(*.*)|*.*";

          op.ShowDialog();

          txtPath.Text = op.FileName;

 

FolderBrowserDialog:

这个要麻烦点点,先建一个类,比如命名为OldWindow.cs

public class OldWindow : System.Windows.Forms.IWin32Window

  {

      IntPtr _handle;

      public OldWindow(IntPtr handle)

      {

          _handle = handle;

      }

      #region IWin32Window Members

      IntPtr System.Windows.Forms.IWin32Window.Handle

      {

          get { return _handle; }

      }

      #endregion

  } 

 

然后在你要使用的地方这样写

System.Windows.Forms.FolderBrowserDialog dlg = new System.Windows.Forms.FolderBrowserDialog();

         System.Windows.Interop.HwndSource source = PresentationSource.FromVisual(this) as System.Windows.Interop.HwndSource;

         System.Windows.Forms.IWin32Window win = new {上面那个类所在的命名空间名称}.OldWindow(source.Handle);

         System.Windows.Forms.DialogResult result = dlg.ShowDialog(win);

         txtPath.Text = dlg.SelectedPath;

BTW:需要在项目中引用System.Windows.Forms.dll

 

时间: 2024-10-29 14:27:44

在WPF使用FolderBrowserDialog和OpenFileDialog的相关文章

C#中OpenFileDialog 与FolderBrowserDialog用法实例

 代码如下 复制代码 //选择         private void btnUser_Click(object sender, EventArgs e)         {             //选择文件             OpenFileDialog openFileDialog = new OpenFileDialog();             openFileDialog.Multiselect = true;             //文件格式           

逆天通用水印支持Winform,WPF,Web,WP,Win10。支持位置选择(9个位置 ==》[X])

常用技能:http://www.cnblogs.com/dunitian/p/4822808.html#skill 逆天博客:http://dnt.dkil.net 逆天通用水印扩展篇~新增剪贴板系列的功能和手动配置,卸除原基础不常用的功能:http://www.cnblogs.com/dunitian/p/5377097.html 好几天没上QQ了,今天上了个QQ,,额....额...貌似消息还挺多,没及时回复的还请见谅~~刚好昨天无聊把水印这快封装出来了,支持图片水印,文字水印,索引图水印和

请教,WPF winForm开发,选择文件夹多个图片并且预览该如何做

问题描述 选择单个图片显示,用OpenFileDialog可以实现问题1:如果是选择文件夹里多个图片用FolderBrowserDialog如何实现多个图片同时显示,另外盛放图片的容器用哪个,因为是不确定图片数量,需要动态添加.类似于选择完1个文件夹,如果里面有多个图片能够以图片列表的方式呈现问题2:如果用OpenFileDialog,怎么把不是图片格式的文件或者文件夹给过滤掉新手,还请大侠多多帮忙 解决方案 解决方案二:1.文件选择对话框,选择多个文件并绑定ListBoxprivatevoid

【基于WPF+OneNote+Oracle的中文图片识别系统阶段总结】之篇二:基于OneNote难点突破和批量识别

      篇二:基于OneNote难点突破和批量识别 [1]开篇概述:在对本章技术介绍前,还是梳理下思路.描述下本章功能和开发过程.做个系统大致了解之后,在粘贴出本节效果图配以完整代码,然后分拆之,个体技术剖析.这样既可以达到全局整体效果,也可以对局部技术或者知识点做以小结.功能看图描述:本程序开发基于C#+WPF,然后这些条件具备前需要安装office2010以上版本,包含OneNote即可   完整代码:   namespace OnenoteOCRDemo { /// <summary>

WPF自定义控件与样式(15)-终结篇

原文:WPF自定义控件与样式(15)-终结篇 系列文章目录    WPF自定义控件与样式(1)-矢量字体图标(iconfont) WPF自定义控件与样式(2)-自定义按钮FButton WPF自定义控件与样式(3)-TextBox & RichTextBox & PasswordBox样式.水印.Label标签.功能扩展 WPF自定义控件与样式(4)-CheckBox/RadioButton自定义样式 WPF自定义控件与样式(5)-Calendar/DatePicker日期控件自定义样式及

WPF中使用文件浏览对话框的几种方式

原文:WPF中使用文件浏览对话框的几种方式 WPF本身并没有为我们提供文件浏览的控件, 也不能直接使用Forms中的控件,而文件浏览对话框又是我们最常用的控件之一. 下面是我实现的方式 方式1: 使用win32控件OpenFileDialog ? 1 2 3 4 5 6 7 Microsoft.Win32.OpenFileDialog ofd = new Microsoft.Win32.OpenFileDialog(); ofd.DefaultExt = ".xml"; ofd.Fil

WPF自定义控件与样式(3)-TextBox &amp; RichTextBox &amp; PasswordBox样式、水印、Label标签、功能扩展

原文:WPF自定义控件与样式(3)-TextBox & RichTextBox & PasswordBox样式.水印.Label标签.功能扩展 一.前言.预览 申明:WPF自定义控件与样式是一个系列文章,前后是有些关联的,但大多是按照由简到繁的顺序逐步发布的等,若有不明白的地方可以参考本系列前面的文章,文末附有部分文章链接. 本文主要是对文本输入控件进行样式开发,及相关扩展功能开发,主要内容包括: 基本文本框TextBox控件样式及扩展功能,实现了样式.水印.Label标签.功能扩展: 富

C#开发WPF/Silverlight动画及游戏系列教程(Game Course):(三十四)

C#开发WPF/Silverlight动画及游戏系列教程(Game Course):(三十四)地图编辑器诞生啦! 到目前为止,教程示例游戏中虽然实现了A*,但是还无法轻松的为地图设置障碍物:并且游戏所有地图均为一张整的大图片,主角的移动会导致窗体对地图的不停切割,越大的地图带来的负面性能损耗越明显.对地图进行切片处理则可达到性能的最大优化:载入的时候按需加载,地图根据主角的位置仅显示特定部份:并且如果还能配上任意勾勒的遮挡物,那么这一切的一切将更能完美的诠释我们的游戏.开发制作地图编辑器已迫在眉

【基于WPF+OneNote+Oracle的中文图片识别系统阶段总结】之篇三:批量处理后的txt文件入库处理

篇三:批量处理后的txt文件入库处理 [开篇概述]:本文继上述文章再做深度剖析,本篇主要介绍txt入库(oracle)和wpf分页,在此篇涉及的页面设计前篇已经细述不再概说.里面涉及到oracle 64位系统安装处理问题,以前oracle的表,序列,触发器,自增种子等基本操作.外加文件操作和利用用户控件分页等技术.大致效果图如下,其次粘贴完整代码,其后就一一概说本文核心要点和难点突破,最后梳理技术知识点,使其一则保持完整性,二则梳理整理知识点便于随时取用.(本篇暂做效果图如下,至于最终效果图和审