#region 示例1

SaveFileDialog sfd = new SaveFileDialog();
//设置文件类型
sfd.Filter = "备份文件(*.bak)|*.bak";
//设置默认文件类型显示顺序
sfd.FilterIndex = 1;
sfd.FileName = "dbs_" + DateTime.Now.ToString("yyyy_MM_dd_hh_mm_ss") + ".bak";
//保存对话框是否记忆上次打开的目录
sfd.RestoreDirectory = true;
//点了保存按钮进入
if (sfd.ShowDialog() == DialogResult.OK)

{

string path= sfd.FileName.ToString(); //获得文件路径

MessageBox.Show(path, "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);

}

else

{

return;

}

#endregion

#region

//初始化OpenFileDialog
OpenFileDialog openFileDialog1 = new OpenFileDialog();

//设置初始路径

openFileDialog1.InitialDirectory = "D:\\Patch";

//选择条件

openFileDialog1.Filter = "All files (*.*)|*.*|txt files (*.txt)|*.txt";

//属性指定默认列表框中选项 默认是1

openFileDialog1.FilterIndex = 1;

openFileDialog1.RestoreDirectory = true;

if (openFileDialog1.ShowDialog() == DialogResult.OK)

{

//获取得到的文件路径

spath= openFileDialog1.FileName;

}

else

{

return;

}

#endregion

spath就能得到你选中文件的路径

一、打开文件对话框(OpenFileDialog)

1、 OpenFileDialog控件有以下基本属性

InitialDirectory 对话框的初始目录

Filter 要在对话框中显示的文件筛选器,例如,"文本文件(*.txt)|*.txt|所有文件(*.*)||*.*" FilterIndex 在对话框中选择的文件筛选器的索引,如果选第一项就设为1 RestoreDirectory 控制对话框在关闭之前是否恢复当前目录

FileName 第一个在对话框中显示的文件或最后一个选取的文件

Title 将显示在对话框标题栏中的字符

AddExtension 是否自动添加默认扩展名

CheckPathExists 在对话框返回之前,检查指定路径是否存在

DefaultExt 默认扩展名

DereferenceLinks 在从对话框返回前是否取消引用快捷方式

ShowHelp 启用"帮助"按钮

ValiDateNames 控制对话框检查文件名中是否不含有无效的字符或序列

2、 OpenFileDialog控件有以下常用事件

FileOk 当用户点击"打开"或"保存"按钮时要处理的事件

HelpRequest 当用户点击"帮助"按钮时要处理的事件

可以用以下代码来实现上面这个对话框:

private void openFileDialogBTN_Click(object sender, System.EventArgs e){ OpenFileDialog openFileDialog=new OpenFileDialog();

openFileDialog.InitialDirectory="c:\\";//注意这里写路径时要用c:\\而不是c:\ openFileDialog.Filter="文本文件|*.*|C#文件|*.cs|所有文件|*.*";

openFileDialog.RestoreDirectory=true;

openFileDialog.FilterIndex=1;

if (openFileDialog.ShowDialog()==DialogResult.OK)

{

fName=openFileDialog.FileName;

File fileOpen=new File(fName);

isFileHaveName=true;

richTextBox1.Text=fileOpen.ReadFile();

richTextBox1.AppendText("");

}

}

路径的返回用filename是字符串类型

如:openFileDialog1.ShowDialog();

_name1= openFileDialog1.FileName;

Image imge = Image.FromFile(_name1);

3、 获取对话框的文件名

openfiledialog.FileName //获取或设置一个包含在文件对话框中选定的文件名字符串openfiledialog.SafeFileName //获取选定对话框中的文件名和扩展名

4、例子:

OpenFileDialog Open1 = new OpenFileDialog();

Open1.Filter = "图片文件(*.jpg,*.gif,*.bmp)|*.jpg|*.gif|*.bmp";

说明:

‘|’分割的两个,一个是注释,一个是真的Filter,显示出来的是那个注释。你实际上应该选出了jpg和bmp。

如果要一次显示多中类型的文件,用分号分开

Open1.Filter="图片文件(*.jpg,*.gif,*.bmp)|*.jpg;*.gif;*.bmp";

C# OpenFileDialog和SaveFileDialog的常见用法的更多相关文章

  1. C#的OpenFileDialog和SaveFileDialog的常见用法(转)

    OpenFileDialog openFileDialog1 = new OpenFileDialog();            openFileDialog1.InitialDirectory = ...

  2. Linux中find常见用法

    Linux中find常见用法示例 ·find   path   -option   [   -print ]   [ -exec   -ok   command ]   {} \; find命令的参数 ...

  3. php中的curl使用入门教程和常见用法实例

    摘要: [目录] php中的curl使用入门教程和常见用法实例 一.curl的优势 二.curl的简单使用步骤 三.错误处理 四.获取curl请求的具体信息 五.使用curl发送post请求 六.文件 ...

  4. Guava中Predicate的常见用法

    Guava中Predicate的常见用法 1.  Predicate基本用法 guava提供了许多利用Functions和Predicates来操作Collections的工具,一般在 Iterabl ...

  5. find常见用法

    Linux中find常见用法示例 ·find   path   -option   [   -print ]   [ -exec   -ok   command ]   {} \; find命令的参数 ...

  6. iOS 开发多线程篇—GCD的常见用法

    iOS开发多线程篇—GCD的常见用法 一.延迟执行 1.介绍 iOS常见的延时执行有2种方式 (1)调用NSObject的方法 [self performSelector:@selector(run) ...

  7. iOS开发多线程篇—GCD的常见用法

    iOS开发多线程篇—GCD的常见用法 一.延迟执行 1.介绍 iOS常见的延时执行有2种方式 (1)调用NSObject的方法 [self performSelector:@selector(run) ...

  8. [转]EasyUI——常见用法总结

    原文链接: EasyUI——常见用法总结 1. 使用 data-options 来初始化属性. data-options是jQuery Easyui 最近两个版本才加上的一个特殊属性.通过这个属性,我 ...

  9. NSString常见用法总结

    //====================NSStirng 的常见用法==================== -(void)testString { //创建格式化字符串:占位符(由一个%加一个字 ...

随机推荐

  1. vue中解决chrome浏览器自动播放音频 和MP3语音打包到线上

    一.vue中解决chrome浏览器自动播放音频 需求 有新订单的时候,页面自动语音提示和弹出提示框: 问题 chrome浏览器在18年4月起,就在桌面浏览器全面禁止了音视频的自动播放功能.严格地来说, ...

  2. Centos7系统下Docker开启认证的远程端口2376配置教程

    docker开启2375会存在安全漏洞 暴露了2375端口的Docker主机.因为没有任何加密和认证过程,知道了主机IP以后,,任何人都可以管理这台主机上的容器和镜像,以前贪图方便,只开启了没有认证的 ...

  3. EntityFramwork基础用法

    一.EntityFramework(简称"EF")是什么? 在.NET3.5之前,我们经常编写ADO.NET代码或通过封装好的数据库访问层来与数据库进行交互,进行CRUD操作.这种 ...

  4. 6.Android-五大布局

    Android 五大布局如下所示: LinearLayout 线性布局 只能指定一个方向(垂直/水平)来布局 RelativeLayout 相对布局 通过某个控件为参照物,来定位其它控件的位置的布局方 ...

  5. mysql5.5和5.6的一些区别

    timestamp 5.5中 直接写timestamp不加长度   5.6 中 写的timestamp(3) datatime 5.5中 直接写datetime 不加长度  5.6中 可以添加长度(3 ...

  6. Springboot项目集成JPush极光推送(Java SDK)

    1.由于项目的需求,需要在Android APP上实现消息推送功能,所以引用了极光推送(官网:https://www.jiguang.cn/, 文档:http://docs.jiguang.cn/) ...

  7. spring boot:swagger3文档展示分页和分栏的列表数据(swagger 3.0.0 / spring boot 2.3.3)

    一,什么情况下需要展示分页和分栏的数据的文档? 分页时,页面上展示的是同一类型的列表的数据,如图: 分栏时,每行都是一个列表,而且展示的数据类型也可能不同 这也是两种常用的数据返回形式 说明:刘宏缔的 ...

  8. .net 添加打印 源代码

    <div style="margin-top: auto; text-align: center;" id="buttondiv"> <obj ...

  9. C++实现求离散数学命题公式的真值表

    一.实验内容 (1)求任意一个命题公式的真值表. (2)利用真值表求任意一个命题公式的主范式. (3)利用真值表进行逻辑推理. 注:(2)和(3)可在(1)的基础上完成. 二.实验目的 真值表是命题逻 ...

  10. pv操作是否会造成死锁呢?

    看了一些pv操作的例子,有一些基本原理不是想得很清楚. 有一个进程 while(true) { p(s); ...... v(s); } s的初值为1. 那么我的问题是,当多个该进程需要执行时,是否会 ...