using System.Windows.Forms;

...

/// <summary>
/// 选择保存文件的名称以及路径 取消返回 空"";
/// </summary>
/// <param name="fileName"></param>
/// <param name="filter"></param>
/// <param name="title"></param>
/// <returns></returns>
public static string GetSaveFilePath(string fileName = null, string filter = null, string title = null)
{
string path = "";
SaveFileDialog savedialog = new SaveFileDialog();
savedialog.AddExtension = true;
if (string.IsNullOrEmpty(fileName)) savedialog.FileName = DateTime.Now.ToString("yyyyMMdd"); else savedialog.FileName = fileName;
if (string.IsNullOrEmpty(filter)) savedialog.Filter = "All File|*.*"; else savedialog.Filter = filter;
if (string.IsNullOrEmpty(title)) savedialog.Title = "保存为"; else savedialog.Title = title; if (savedialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
path = savedialog.FileName;
}
return path;
} /// <summary>
/// 选择一个文件
/// </summary>
/// <param name="filter">文件类型筛选器</param>
/// <returns>选择文件完整路径,null没有选择</returns>
public static string SelectFiles(string filter)
{
string[] paths = null;
string[] names = null;
// 弹出文件选择框
if (SelectFiles(filter,false,out paths,out names))
{
return paths[0];
}
else
{
return null;
}
} /// <summary>
/// 选择多个文件
/// </summary>
/// <param name="filter">文件类型筛选器</param>
/// <param name="multiselect">是否可以选择多个文件</param>
/// <param name="fullpaths">文件完整路径数组</param>
/// <param name="names">文件名数组</param>
/// <returns>是否选择成功</returns>
public static bool SelectFiles(string filter,bool multiselect,out string[] fullpaths,out string[] names)
{
// 初始化
bool result = false;
fullpaths = null;
names = null; OpenFileDialog selectdialog = new OpenFileDialog();
selectdialog.Multiselect = multiselect;
if (string.IsNullOrEmpty(filter)) selectdialog.Filter = "All File|*.*"; else selectdialog.Filter = filter;
// 弹出文件选择框
result = selectdialog.ShowDialog()== System.Windows.Forms.DialogResult.OK)
if(result)
{
fullpaths = selectdialog.FileNames;
names = selectdialog.SafeFileNames;
}
return result;
}

C# 基础 - 文件对话框的更多相关文章

  1. 第四章-使用本机文件对话框和帮助进程间沟通 | Electron实战

    本章主要内容: 使用Electron的dialog模块实现一个本机打开文件对话框 促进主进程和渲染器进程之间的通信 将功能从主进程暴露给渲染器进程 使用Electron的remote模块从主进程导入功 ...

  2. 跟我一起学QT_QT标准对话框_文件对话框

    标准对话框 QT的标准对话框分为以下几种 颜色对话框 文件对话框 字体对话框 输入对话框 消息对话框 进度对话框 错误信息对话框 向导对话框 文件对话框 QT中的文件对话框QFileDialog类提供 ...

  3. QT 文件对话框(QFileDialog)

    1.选择文件(上传.打开...) QString QFileDialog::getOpenFileName( QWidget *parent = , //parent,用于指定父组件.注意,很多Qt组 ...

  4. MATLAB 文件对话框之图片格式转换

    localpathname为当前路径,需要保存图片的位置,根据自己的实际路径设置,usedpathname用来保存打开的文件位置,方便下次打开文件对话框以上次的路径为默认路径. global used ...

  5. MFC 文件对话框

    文件对话框的分类 文件对话框分为打开文件对话框和保存文件对话框,相信大家在Windows系统中经常见到这两种文件对话框.例如,很多编辑软件像记事本等都有"打开"选项,选择" ...

  6. MFC编程入门之十七(对话框:文件对话框)

    上一讲介绍的是消息对话框,本节讲解文件对话框.文件对话框也是很常用的一类对话框. 文件对话框的分类 文件对话框分为打开文件对话框和保存文件对话框,相信大家在Windows系统中经常见到这两种文件对话框 ...

  7. 用C#打开文件对话框的方法和简单使用的程序

  8. MFC打开文件对话框

    { CString FilePathName; CFileDialog dlg(TRUE);///TRUE为OPEN对话框,FALSE为SAVE AS对话框 if(dlg.DoModal()==IDO ...

  9. 工作总结:文件对话框的分类(C++)

    原文地址:http://www.jizhuomi.com/software/173.html 文件对话框分为打开文件对话框和保存文件对话框,相信大家在Windows系统中经常见到这两种文件对话框.例如 ...

随机推荐

  1. Qt内部的d指针和q指针手把手教你实现

    Qt内部的d指针和q指针 在讲Qt的D指针之前让我们来简单的解释一下D指针出现的目的,目的是什么呢?保证模块间的二进制兼容. 什么是二进制兼容呢,简单说就是如果自己的程序使用了第三方模块,二进制兼容可 ...

  2. Cobbler自定义安装系统和私有源

    1.自定义安装系统(根据mac地址) --name=定义名称 --mac=客户端的mac地址 --ip-address=需求的ip --subnet=掩码 --gateway=网关 --interfa ...

  3. 数据分析常用库(numpy,pandas,matplotlib,scipy)

    概述 numpy numpy(numeric python)是 python 的一个开源数值计算库,主要用于数组和矩阵计算.底层是 C 语言,运行效率远高于纯 python 代码.numpy主要包含2 ...

  4. mybatis(一)常见ORM框架及JDBC操作工具类

      转载:https://www.cnblogs.com/wuzhenzhao/p/11075569.html 在Java 程序里面去连接数据库,最原始的办法是使用JDBC 的API.我们先来回顾一下 ...

  5. xss之htmlspecialchars

    源代码: 可以看到是用htmlspecialchars 对get参数message进行处理,但是他默认不对单引号进行处理的. 只对预定义的字符进行处理: & (和号)成为 & &quo ...

  6. ASP.Net MVP Framework had been dead !

    ASP.Net MVP Framework Project Description A project to get you started with creating and designing w ...

  7. ES6 Map to Array

    ES6 Map to Array function differentSymbolsNaive(str) { // write code here. const map = new Map(); co ...

  8. js in depth: Object & Function & prototype & __proto__ & constructor & classes inherit

    js in depth: Object & Function & prototype & proto & constructor & classes inher ...

  9. NGK福利再升级,1万枚VAST限时免费送

    NGK在推出持有算力获得SPC空投活动后,福利再升级,于美国加州时间2021年2月8日下午4点推出新人福利活动,注册NGK成为新会员,即可获得0.2枚VAST奖励. VAST免费福利送活动仅送出1万枚 ...

  10. 千万不要错过VAST,NGK算力的下一个财富机会!

    我们把目光投向NGK市场,近来,NGK接连新币,推出了SPC后,又有VAST.在目前市场上债券收益率已经趋近于零的情况下,世界上的大多数央行都在试图让本国货币贬值,所以在此时寻找其他保值资产是合理的. ...