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. springboot(四) rabbitMQ demo

    RabbitMQ 即一个消息队列,主要是用来实现应用程序的异步和解耦,同时也能起到消息缓冲,消息分发的作用. 消息中间件在互联网公司的使用中越来越多,刚才还看到新闻阿里将RocketMQ捐献给了apa ...

  2. mybatis(四)缓存机制

    转载:https://www.cnblogs.com/wuzhenzhao/p/11103043.html 缓存是一般的ORM 框架都会提供的功能,目的就是提升查询的效率和减少数据库的压力.跟Hibe ...

  3. Git使用指南(上)

    1 Git简介 学习一门技术老师更加倾向于看官网的. 度娘看完了,官网看完了,大家还是很懵逼 学生成绩管理系统 登录模块   3.2 登录模块进一步完善    缺一个验证码的功能    3.3 登录模 ...

  4. 使用nodejs爬取图片

    在运行代码前,请确保本机是否有nodejs环境 1 D:\ > node -v 2 v12.1.0 //版本号 需要用到的包 axios //请求页面 cheerio // 把get请求的页面 ...

  5. CSS3 弹性盒子(Flex Box)

    1 CSS3 弹性盒子(Flex Box) 1 http://caniuse.com/#search=flex%20box https://www.w3.org/TR/css-flexbox-1/ C ...

  6. Jamstack Conf 2020

    Jamstack Conf 2020 Jamstack Conf Virtual https://jamstackconf.com/virtual/ Conf Schedule https://jam ...

  7. array group by key javascript

    array group by key javascript calendar Array.reduce https://developer.mozilla.org/en-US/docs/Web/Jav ...

  8. SPC空投火爆来袭!区块链技术落地加速!

    经历市场狂热后,区块链逐渐恢复合理性,在政策红利.技术等多力推进下,各行各业开始涌入区块链行业.在这波浪潮中,SPC侧链代币项目显得格外亮眼,其空投已经发放至第二轮,仅SPC空投月收益就达23%左右, ...

  9. 教你玩转CSS Position(定位)

    CSS Position(定位) position 属性指定了元素的定位类型. position 属性的五个值: static relative fixed absolute sticky 元素可以使 ...

  10. oracle中的in参数超过1000的解决方案

    在oracle中,使用in方法查询记录的时候,如果in后面的参数个数超过1000个,那么会发生错误,JDBC会抛出"java.sql.SQLException: ORA-01795: 列表中 ...