SaveFileDialog 和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);
为了方便同事在日常工作中很快速生成大量数据, 我做了文件拷贝的小工具:
其中用到了OpenFileDialog这个类,下面是关于这个类的一些用法!
OpenFileDialog类是用来选择文件位置的,
FolderBrowserDialog 类用来选择文件夹位置.
具体代码如下:
程序源码:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;
namespace copyFile
{
public partial class Form1 : Form
{
String fileName;
String folderName;
String extendedName;
String fileName1;
public Form1()
{
InitializeComponent();
}
private void browse_Click(object sender,EventArgs e)
{
OpenFileDialog ofd = new OpenFileDialog(); //new一个方法
ofd.InitialDirectory = Environment. GetFolderPath_r(Environment.SpecialFolder.MyDocuments); //定义打开的默认文件夹位置
ofd.ShowDialog(); //显示打开文件的窗口
fileName = ofd.FileName; //获得选择的文件路径
textBox1.Text = fileName;
extendedName = Path. GetExtension_r(fileName); //获得文件扩展名
fileName1 = Path. GetFileName_r(fileName); //获得文件名
}
private void folder_Click(object sender, EventArgs e)
{
FolderBrowserDialog fbd = new FolderBrowserDialog();
fbd.ShowDialog();
folderName = fbd.SelectedPath; //获得选择的文件夹路径
textBox3.Text = folderName;
}
private void ok_Click(object sender, EventArgs e)
{
if (textBox1.Text.Trim().Length == 0)
{
MessageBox.Show("文件路径不能为空!");
return;
}
if (textBox2.Text.Trim().Length == 0)
{
MessageBox.Show("复制数量不能为空!");
return;
}
if (textBox3.Text.Trim().Length == 0)
{
MessageBox.Show("目标文件夹路径不能为空!");
return;
}
String newFile; //定义存储的位置,和存储的名称
for (int i = 1; i <= Convert.ToInt32(textBox2.Text); i++) //从textBox2中获取要复制的次数
{
newFile = folderName + "\\" + fileName1 +"_"+ i.ToString() + extendedName;
; File.Copy(fileName, newFile, true); //使用Copy复制文件, Copy(源文件位置,目标文件夹位置,是否可以覆盖同名文件)
}
MessageBox.Show("复制完成!");
}
}
}
补充:
//获取文件名
Path. GetFileName_r(OpenFileDialog.FileName)
//获取文件路径
Path. GetDirectoryName_r(OpenFileDialog.FileName)
//获取文件扩展名
Path. GetExtension_r(OpenFileDialog.FileName)
SaveFileDialog
#region 保存对话框
private void ShowSaveFileDialog()
{
//string localFilePath, fileNameExt, newFileName, FilePath;
SaveFileDialog sfd = new SaveFileDialog();
//设置文件类型
sfd.Filter = "数据库备份文件(*.bak)|*.bak|数据文件(*.mdf)|*.mdf|日志文件(*.ldf)|*.ldf";
//设置默认文件类型显示顺序
sfd.FilterIndex = 1;
//保存对话框是否记忆上次打开的目录
sfd.RestoreDirectory = true;
//点了保存按钮进入
if (sfd.ShowDialog() == DialogResult.OK)
{
string localFilePath = sfd.FileName.ToString(); //获得文件路径
string fileNameExt = localFilePath.Substring(localFilePath.LastIndexOf("\\") + 1); //获取文件名,不带路径
//获取文件路径,不带文件名
//FilePath = localFilePath.Substring(0, localFilePath.LastIndexOf("\\"));
//给文件名前加上时间
//newFileName = DateTime.Now.ToString("yyyyMMdd") + fileNameExt;
//在文件名里加字符
//saveFileDialog1.FileName.Insert(1,"dameng");
//System.IO.FileStream fs = (System.IO.FileStream)sfd.OpenFile();//输出文件
fs输出带文字或图片的文件,就看需求了
}
}
#endregion
转载于:https://www.cnblogs.com/rockman/p/3318910.html
SaveFileDialog 和OpenFileDialog相关推荐
- C#中SaveFileDialog和OpenFileDiaLog 用法
C#中SaveFileDialog和OpenFileDiaLog 用法 介绍SaveFileDialog以及OpenFileDiaLog的使用,把textbox中的内容通过SaveFileDialog ...
- C# SaveFileDialog 、OpenFileDialog 的用法
文件操作中SaveFileDialog的用法 c#获取要保存文件的对话框,用SaveFileDialog类.具体用法很简单分享一下吧,对于初学者可能有用 //可能要获取的路径名 string loca ...
- C#中SaveFileDialog 和OpenFileDialog 的用法
1.OpenFileDialog private void btnOpen_Click(object sender, EventArgs e){OpenFileDialog ofd = new Ope ...
- Siverlight5新功能/改进总结
参考资料:The Big List of What's New or Improved in Silverlight 5 以下总结包括大家关心的Silverlight5的绝大多数新功能或改进,特别是S ...
- 编写一个写字板初步了解Winform编程(三)——代码设计
写字板程序的所有功能几乎都是围绕richTextBox这个控件的,所以我们这边设计的代码都是关于richTextBox这个控件的方法属性的使用.当然还有一些其他基本控件的使用.如果有过java swi ...
- 计算机测绘程序设计实验报告,测绘程序设计(VS2008)实验报告--文件操作.docx
测绘程序设计(VS2008)实验报告--文件操作.docx 上传人:B****s 文档编号:18365883 上传时间:2019-04-28 格式:DOCX 页数:9 大小:102.93KB 下载提示 ...
- 传智播客 传智播客.NET视频学习课件
传智播客 传智播客.NET视频学习课件 访问.NET网站了解更多课程详情 http://net.itcast.cn (小提示:为什么本书中超链接打不开?) 此套课件是伴随传智播客.net实况教学视频 ...
- 报表打印,从需求出发,简单就好
业余编程写办公程序很多年了,大部分时间是做插件,完整的程序,手上也只有一个,不敢说专业,但对于一些简单的需求,还是想说一说.或许对各位没用,或许可以为初学者引路,或许只是自己写给自己看,或许是因为所有 ...
- C#的OpenFileDialog和SaveFileDialog的常见用法
OpenFileDialog openFileDialog1 = new OpenFileDialog(); openFileDialog1.InitialDirectory ...
最新文章
- 轻量级mysql服务_Navicat连接阿里云轻量级应用服务器mysql
- 网上的画板代码收集和整理
- Mysql: LBS实现查找附近的人 (两经纬度之间的距离)
- 我们为何总是掉进“杀熟”的圈套?
- oracle10g em服务没有,如何配置和重建Oracle 10G的em服务 dbcontrol
- java中a 和 a_Java中的a++和++a的区别 | 学步园
- 线性代数复盘 | 同济大学工程数学第六版第二章思维导图笔记——矩阵及其运算(复习专用)
- Xiaojie雷达之路---TI实战笔记---OSAL详解
- Excel批量向下填充不连续的空白单元格工具
- 结构相似度索引(SSIM)全攻略:理论+代码(PyTorch)
- 第二期:关于十大数据相关问答汇总,关注持续更新中哦~
- C#、C++、Java、Python 选择哪个好?
- 让独居的父母,时刻受到保护,老人远程无线监护解决方案
- ps快速把图片背景色变成透明图片
- 旋转矩阵【北京航空航天大学】
- 严禁使用计算机存储,处理,传输涉密信息,严禁使用非涉密计算机存储、处理、传输涉密信息。()...
- python中string和bool的转换
- Android使用AudioRecord实现录音
- org.springframework.amqp.AmqpException: No method found for class [B
- 微信的这些功能超级实用
热门文章
- 比尔•盖茨招聘员工的故事
- Perl 数组 操作符 pop,push,shift, unshift,splice
- 前端页面导出excel文件功能(导出)
- 工商银行银联标准芯片卡
- 上海交通大学计算机专业课,上海交通大学计算机专业课138的经验_跨考网
- Nmap检测是否开启防火墙?
- 深度学习-神经网络卷积核理解
- 这或许是东半球讲十大排序算法最好的一篇文章
- Java网络编程入门,包含网络相关概念、InetAddress类、套接字Socket、网络上传和下载文件等
- B端后台Dashboard页面 数据可视化页面 常用图表组件库合集 sketch格式