namespace Microsoft.Win32

选择文件:

if (string.IsNullOrEmpty(folderInitialDirectory))
{
folderInitialDirectory = FileAndFolderOperation.Instance.GetUserDocumentFolder();
}

SaveFileDialog saveFileDialog = new SaveFileDialog();

saveFileDialog.Title = Resources.ChooseExportFilePathWndTitle;
saveFileDialog.InitialDirectory = folderInitialDirectory;
saveFileDialog.Filter = Resources.ChooseExportFilePathWndFilter;
saveFileDialog.FilterIndex = 1;
saveFileDialog.RestoreDirectory = true;
if (saveFileDialog.ShowDialog() == true)
{

FilesPath = saveFileDialog.FileName;
folderInitialDirectory = System.IO.Path.GetDirectoryName(FilesPath);
}

选择文件夹:

Microsoft.WindowsAPICodePack.Dialogs

CommonOpenFileDialog dialog = new CommonOpenFileDialog();
dialog.IsFolderPicker = true;  // 这里一定要设置true,不然就是选择文件
if (string.IsNullOrEmpty(folderInitialDirectory))
{
folderInitialDirectory = FileAndFolderOperation.Instance.GetUserDocumentFolder();
}
dialog.InitialDirectory = folderInitialDirectory;
if (dialog.ShowDialog() == CommonFileDialogResult.Ok)
{
ToFolderPath = dialog.FileName;
ImportExtentions.Instance.SetImpToFolderName(ToFolderPath);
folderInitialDirectory =ToFolderPath;
var zippath = ImportExtentions.Instance.ImpFromFolderName;
var strZipPath = System.IO.Path.GetDirectoryName(zippath);
string strRoot = System.IO.Path.GetPathRoot(strZipPath);
var zipFreeSpace = FileAndFolderOperation.Instance.GetHardDiskFreeSpace(strRoot);

string strRoot1 = "";
var strPath = System.IO.Path.GetDirectoryName(ToFolderPath);
if(!string.IsNullOrWhiteSpace(strPath))
strRoot1 = System.IO.Path.GetPathRoot(strPath);
else
strRoot1 = System.IO.Path.GetPathRoot(ToFolderPath);

var lfreeSpace = FileAndFolderOperation.Instance.GetHardDiskFreeSpace(strRoot1);

if (zipFreeSpace > lfreeSpace)
{
SetSizeErrorInfo();
return;
}}

WPF 选择文件选择文件夹的更多相关文章

  1. WPF:自定义Metro样式文件夹选择对话框FolderBrowserDialog

    1.前言 WPF并没有文件选择对话框,要用也就只有使用Winform版的控件.至今我也没有寻找到一个WPF版本的文件选择对话框. 可能是我眼浊,如果各位知道有功能比较健全的WPF版文件选择对话框.文件 ...

  2. WPF选择文件、文件夹和另存为对话框

    WPF提供了选择文件对话框,但并没有提供选择文件夹的对话框. OpenFileDialog类存在于PresentationFramework.dll程序集. public string SelectF ...

  3. WPF中选择文件及文件夹

    最近从winform转WPF,遇到了各种各样的问题.然而网上的关于WPF的资料少之又少,甚至连基本的文件选择操作,百度搜索的首页都没有一个比较好的方法.所以,踩了几个坑之后,我把我得到的方法分享给大家 ...

  4. (WPF) 文件和文件夹选择对话框。

    点击button,选择一个excel文件,并将文件名显示在textbox上. private void btnSelectErrorTableFile_Click(object sender, Rou ...

  5. MFC 使用MFC EditBrowse Control控件选择文件或者文件夹

    从工具箱中拖拽一个MFC EditBrowse Control到窗体中, 通过设置“Browse Mode”属性指定“文件浏览”还是“文件夹浏览” 可以通过添加对象的方式将其与一个CString se ...

  6. SWT的选择文件和文件夹的函数

    org.eclipse.swt.widgets.DirectoryDialog//选择目录org.eclipse.swt.widgets.FileDialog//SWT.OPEN打开文件 SWT.SA ...

  7. C# 文件选择对话框,Unity3d文件保存对话框

    using OpenWinForm = System.Windows.Forms; 在unity3d中,使用FileDialog应该把System.Windows.Forms.dll拷贝到unity工 ...

  8. WEB版一次选择多个文件进行批量上传(Plupload)的解决方案

    WEB版一次选择多个文件进行批量上传(Plupload)的解决方案  转载自http://www.cnblogs.com/chillsrc/archive/2013/01/30/2883648.htm ...

  9. Swing实现文件选择(目录选择)附导出

    具体生成工具如图: (1) (2) (3) (4) 源码 : example.java package org.qiailin.jframe; import java.awt.Container; i ...

  10. WEB版一次选择多个文件进行批量上传(WebUploader)的解决方案

    本人在2010年时使用swfupload为核心进行文件的批量上传的解决方案.见文章:WEB版一次选择多个文件进行批量上传(swfupload)的解决方案. 本人在2013年时使用plupload为核心 ...

随机推荐

  1. CAD制图初学入门教程:怎么在CAD中绘制箭头

    在接触CAD的时候大家有没有和小编一样感觉无所适从,所以下面就来和大家分享一个CAD制图初学入门教程,在CAD中绘制箭头.在CAD图形上进行标注内容的时候一般都会使用箭头来进行指示,那具体怎么在CAD ...

  2. js 时间戳转化为时间

    // 时间戳转为时间 bb="xxxx"://时间戳 var date = new Date(bb); Y = date.getFullYear() + '-'; M = (dat ...

  3. Metasploit漏洞扫描

    Metasploit漏洞扫描 漏洞扫描是自动在目标中寻找和发现安全弱点. 漏洞扫描器会在网络上和对方产生大量的流量,会暴露自己的行为过程,如此就不建议你使用漏扫了. 基本的漏洞扫描 我们首先使用net ...

  4. 【微信小程序】安装EsayWechat简化微信小程序的开发

    1.安装easywechat composer require "overtrue/laravel-wechat" 2.文档 EasyWhchat官方文档

  5. 渗透测试学习 二十二、getshell总结

    大纲   管理员权限拿shell 普通权限拿shell 常见cms拿shell 进后台主要是可以对网站前台的内容,样式等做操作,要改脚本的内容的权限只有在webshell的权限下才可以(某些情况除外) ...

  6. 6.Python网络编程_全局变量基础

    变量作用域: 一般在函数体外定义的变量成为全局变量,在函数内部定义的变量称为局部变量.全局变量所有作用域都可用,局部变量只能在本函数可用,变量的使用顺序是,局部变量 > 全局变量, 也就是说:优 ...

  7. 8. Go语言—指针类型

    一.指针类型介绍 普通类型,变量存的就是值,也叫值类型. 获取变量的地址,用&,比如:var a int ,获取a的地址:&a 指针类型,变量存的是一个地址,这个地址存的才是值(指针存 ...

  8. 鱼嘤嘤小分队 Alpha冲刺阶段博客目录

    会议记录 周数 链接 主要工作 第六周 第六周链接  确定技术路线 第七周 第七周链接  讨论进展 最近的主要工作: 由于我们的代码能力以及pyhon的基础知识已经网络通信的知识储备是不够的,所以我们 ...

  9. lua 12 table 的使用

    转自:http://www.runoob.com/lua/lua-tables.html table 是 Lua 的一种数据结构用来帮助我们创建不同的数据类型,如:数组.字典等. Lua table ...

  10. CentOS7 安装 anaconda

    Anaconda是一个开源的Python发行版本,可以帮助我们更方便地配置Python环境. 如果只需要某些包,或者需要节省带宽或存储空间,也可以使用Miniconda这个较小的发行版 0. 开始前 ...