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相关推荐

  1. C#中SaveFileDialog和OpenFileDiaLog 用法

    C#中SaveFileDialog和OpenFileDiaLog 用法 介绍SaveFileDialog以及OpenFileDiaLog的使用,把textbox中的内容通过SaveFileDialog ...

  2. C# SaveFileDialog 、OpenFileDialog 的用法

    文件操作中SaveFileDialog的用法 c#获取要保存文件的对话框,用SaveFileDialog类.具体用法很简单分享一下吧,对于初学者可能有用 //可能要获取的路径名 string loca ...

  3. C#中SaveFileDialog 和OpenFileDialog 的用法

    1.OpenFileDialog private void btnOpen_Click(object sender, EventArgs e){OpenFileDialog ofd = new Ope ...

  4. Siverlight5新功能/改进总结

    参考资料:The Big List of What's New or Improved in Silverlight 5 以下总结包括大家关心的Silverlight5的绝大多数新功能或改进,特别是S ...

  5. 编写一个写字板初步了解Winform编程(三)——代码设计

    写字板程序的所有功能几乎都是围绕richTextBox这个控件的,所以我们这边设计的代码都是关于richTextBox这个控件的方法属性的使用.当然还有一些其他基本控件的使用.如果有过java swi ...

  6. 计算机测绘程序设计实验报告,测绘程序设计(VS2008)实验报告--文件操作.docx

    测绘程序设计(VS2008)实验报告--文件操作.docx 上传人:B****s 文档编号:18365883 上传时间:2019-04-28 格式:DOCX 页数:9 大小:102.93KB 下载提示 ...

  7. 传智播客 传智播客.NET视频学习课件

    传智播客 传智播客.NET视频学习课件 访问.NET网站了解更多课程详情 http://net.itcast.cn (小提示:为什么本书中超链接打不开?) 此套课件是伴随传智播客.net实况教学视频 ...

  8. 报表打印,从需求出发,简单就好

    业余编程写办公程序很多年了,大部分时间是做插件,完整的程序,手上也只有一个,不敢说专业,但对于一些简单的需求,还是想说一说.或许对各位没用,或许可以为初学者引路,或许只是自己写给自己看,或许是因为所有 ...

  9. C#的OpenFileDialog和SaveFileDialog的常见用法

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

最新文章

  1. 轻量级mysql服务_Navicat连接阿里云轻量级应用服务器mysql
  2. 网上的画板代码收集和整理
  3. Mysql: LBS实现查找附近的人 (两经纬度之间的距离)
  4. 我们为何总是掉进“杀熟”的圈套?
  5. oracle10g em服务没有,如何配置和重建Oracle 10G的em服务 dbcontrol
  6. java中a 和 a_Java中的a++和++a的区别 | 学步园
  7. 线性代数复盘 | 同济大学工程数学第六版第二章思维导图笔记——矩阵及其运算(复习专用)
  8. Xiaojie雷达之路---TI实战笔记---OSAL详解
  9. Excel批量向下填充不连续的空白单元格工具
  10. 结构相似度索引(SSIM)全攻略:理论+代码(PyTorch)
  11. 第二期:关于十大数据相关问答汇总,关注持续更新中哦~
  12. C#、C++、Java、Python 选择哪个好?
  13. 让独居的父母,时刻受到保护,老人远程无线监护解决方案
  14. ps快速把图片背景色变成透明图片
  15. 旋转矩阵【北京航空航天大学】
  16. 严禁使用计算机存储,处理,传输涉密信息,严禁使用非涉密计算机存储、处理、传输涉密信息。()...
  17. python中string和bool的转换
  18. Android使用AudioRecord实现录音
  19. org.springframework.amqp.AmqpException: No method found for class [B
  20. 微信的这些功能超级实用

热门文章

  1. 比尔•盖茨招聘员工的故事
  2. Perl 数组 操作符 pop,push,shift, unshift,splice
  3. 前端页面导出excel文件功能(导出)
  4. 工商银行银联标准芯片卡
  5. 上海交通大学计算机专业课,上海交通大学计算机专业课138的经验_跨考网
  6. Nmap检测是否开启防火墙?
  7. 深度学习-神经网络卷积核理解
  8. 这或许是东半球讲十大排序算法最好的一篇文章
  9. Java网络编程入门,包含网络相关概念、InetAddress类、套接字Socket、网络上传和下载文件等
  10. B端后台Dashboard页面 数据可视化页面 常用图表组件库合集 sketch格式