C# SaveFileDialog与OpenFileDialog用法案例详解

1.OpenFileDialog

private void btnOpen_Click(object sender, EventArgs e)
        {
            OpenFileDialog ofd = new OpenFileDialog();
            ofd.InitialDirectory = @"C:\Users\LWP1398\Desktop"; //设置初始路径
            ofd.Filter = "Excel文件(*.xls)|*.xls|Csv文件(*.csv)|*.csv|所有文件(*.*)|*.*"; //设置“另存为文件类型”或“文件类型”框中出现的选择内容
            ofd.FilterIndex = 2; //设置默认显示文件类型为Csv文件(*.csv)|*.csv
            ofd.Title = "打开文件"; //获取或设置文件对话框标题
            ofd.RestoreDirectory = true;
            if (ofd.ShowDialog() == DialogResult.OK)
            {
                //FileName:所选文件的全路径  SafeFileName:所选的文件名
                txtPath.Text = "FileName:" + ofd.FileName + "\r\n" + "SafeFileName:" + ofd.SafeFileName;
            }
        }

2.OpenFileDialog选择多个文件

private void button3_Click(object sender, EventArgs e)
        {
            OpenFileDialog ofd = new OpenFileDialog();
            ofd.InitialDirectory = @"C:\Users\LWP1398\Desktop"; //设置初始路径
            ofd.Filter = "Excel文件(*.xls)|*.xls|Csv文件(*.csv)|*.csv|所有文件(*.*)|*.*"; //设置“另存为文件类型”或“文件类型”框中出现的选择内容
            ofd.FilterIndex = 2; //设置默认显示文件类型为Csv文件(*.csv)|*.csv
            ofd.Title = "打开文件"; //获取或设置文件对话框标题
            ofd.RestoreDirectory = true;设置对话框是否记忆上次打开的目录

            ofd.Multiselect = true;//设置多选
            if (ofd.ShowDialog() == DialogResult.OK)
            {
                for (int i = 0; i < ofd.FileNames.Length; i++)
                {
                    txtPath.Text += ofd.FileNames[i] + "\r\n";//输出一个路径回车换行
                }
                for (int i = 0; i < ofd.FileNames.Length; i++)
                {
                    txtPath.Text += ofd.SafeFileNames[i] + "\r\n";
                }
            }
        }

3.SaveFileDialog

private void button2_Click(object sender, EventArgs e)
        {
            SaveFileDialog sfd=new SaveFileDialog();
            sfd.Filter = "文本文件(*.txt)|*.txt|所有文件|*.*";//设置文件类型
            sfd.FileName = "保存";//设置默认文件名
            sfd.DefaultExt = "txt";//设置默认格式(可以不设)
            sfd.AddExtension = true;//设置自动在文件名中添加扩展名
            if (sfd.ShowDialog()==DialogResult.OK)
            {
                txtPath.Text = "FileName:" + sfd.FileName + "\r\n" ;
                using (StreamWriter sw = new StreamWriter(sfd.FileName))
                {
                    sw.WriteLineAsync("今天是个好天气");
                }
            }
            MessageBox.Show("ok");
        }

private void saveFileDialog1_FileOk(object sender, CancelEventArgs e)
{
     saveFileDialog1.AddExtension = true; //自动添加扩展名
     e.Cancel = true; //取消保存操作
     string 扩展名 = System.IO.Path.GetExtension(saveFileDialog1.FileName);
     //判断扩展名并实现自定义的保存操作(导出)
     if (扩展名 == "txt")
     { }
     if (扩展名 == "xml")
     { }
}

4.FolderBrowserDialog

string defaultPath = "";
FolderBrowserDialog dialog = new FolderBrowserDialog();
//打开的文件夹浏览对话框上的描述
dialog.Description = "请选择一个文件夹";
//是否显示对话框左下角 新建文件夹 按钮,默认为 true
dialog.ShowNewFolderButton = false;
//首次defaultPath为空,按FolderBrowserDialog默认设置(即桌面)选择
if (defaultPath != "")
{
	//设置此次默认目录为上一次选中目录
	dialog.SelectedPath = defaultPath;
}
//按下确定选择的按钮
if (dialog.ShowDialog() == DialogResult.OK)
{
	//记录选中的目录
	defaultPath = dialog.SelectedPath;
}
MessageBox.show(defaultPath);

到此这篇关于C# SaveFileDialog与OpenFileDialog用法案例详解的文章就介绍到这了,更多相关C# SaveFileDialog与OpenFileDialog用法内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • C# Console.WriteLine()用法案例详解

    以前用Console.WriteLine()的时候就只会用它直接输出string字符串,但后来发现它还有其它在有些场合下会十分方便的输出方法,这篇就记录一下这些方法的使用吧. 代码格式我就不写了,因为写了也不好理解,所以直接上示例了.  ① static void Main(string[] args) { int i = 6; string s = "输出"; Console.WriteLine("{0}还可以这样{1}哦.", i, s); Console.Wr

  • 使用 C# 下载文件的多种方法小结

    目录 简单下载 异步下载 下载文件的同时向服务器发送自定义请求头 如何解决下载文件不完整的问题 使用 Downloader 进行 HTTP 多线程下载 下载非 HTTP 协议的文件 文件下载是一个软件开发中的常见需求.本文从最简单的下载方式开始步步递进,讲述了文件下载过程中的常见问题并给出了解决方案.并展示了如何使用多线程提升 HTTP 的下载速度以及调用 aria2 实现非 HTTP 协议的文件下载. 简单下载 在 .NET 程序中下载文件最简单的方式就是使用 WebClient 的 Down

  • C# MemoryStream类案例详解

    MemoryStream位于System.IO命名空间,为系统内存提供流式的读写操作.常作为其他流数据交换时的中间对象操作. MemoryStream类封装一个字节数组,在构造实例时可以使用一个字节数组作为参数,但是数组的长度无法调整.使用默认无参数构造函数创建实例,可以使用Write方法写入,随着字节数据的写入,数组的大小自动调整. 在对MemoryStream类中数据流进行读取时,可以使用seek方法定位读取器的当前的位置,可以通过指定长度的数组一次性读取指定长度的数据.ReadByte方法

  • win7中C#的winForm编程使用savefiledialog不能弹出保存窗体的解决方法

    本文实例分析了win7中C#的winForm编程使用savefiledialog不能弹出保存窗体的解决方法.分享给大家供大家参考.具体分析如下: 复制代码 代码如下: public void ResMsg() {     while (isRecMsg)     {  //准备一个数组 准备接收 服务端发来的数据  byte[] msgRec = new byte[1024 * 1024 * 2];  //接收服务端发来的数据,此方法也会阻断当前线程,并返回接收的数据的长度  int recLe

  • C#中OpenFileDialog和PictrueBox的用法分析

    本文实例讲述了C#中OpenFileDialog和PictrueBox的用法.分享给大家供大家参考.具体用法分析如下: 先来看看这段代码: 复制代码 代码如下: string resultFile = ""; OpenFileDialog openFileDialog1 = new OpenFileDialog(); openFileDialog1.InitialDirectory = "D:\\Patch"; openFileDialog1.Filter = &q

  • C# Request.Form用法案例详解

    在CS文件中获得对应页面中的下拉框DropDownList_sitebranch值可以有以下几种方法获得: siteInfo.FZJGID = DropDownList_sitebranch.SelectedItem.Value.Trim(); siteInfo.FZJGID = Request.Form["DropDownList_sitebranch"].ToString(); siteInfo.FZJGID = Request["DropDownList_sitebra

  • C# NullReferenceException解决案例讲解

    最近一直在写c#的时候一直遇到这个报错,看的我心烦...准备记下来以备后续只需. 参考博客: https://segmentfault.com/a/1190000012609600 一般情况下,遇到这种错误是因为程序代码正在试图访问一个null的引用类型的实体而抛出异常.可能的原因.. 一.未实例化引用类型实体 比如声明以后,却不实例化 using System; using System.Collections.Generic; namespace Demo { class Program {

  • C# SaveFileDialog与OpenFileDialog用法案例详解

    1.OpenFileDialog private void btnOpen_Click(object sender, EventArgs e) { OpenFileDialog ofd = new OpenFileDialog(); ofd.InitialDirectory = @"C:\Users\LWP1398\Desktop"; //设置初始路径 ofd.Filter = "Excel文件(*.xls)|*.xls|Csv文件(*.csv)|*.csv|所有文件(*.*

  • C# pictureBox用法案例详解

    PictureBox 控件可以显示来自位图.图标或者元文件,以及来自增强的元文件.JPEG 或 GIF 文件的图形.如果控件不足以显示整幅图象,则裁剪图象以适应控件的大小. 本文利用openfiledialog控件实现图片文件的打开: 展示了图片控件的sizeMode四种格式:最好的应该是zoom,在图片不发生形变的条件下,对图片进行缩放. sizemode:autosize–让picturebox适应图片尺寸,zoom–让图片适应picturebox 控件的SizeMode属性,有四种情况:

  • Python中return用法案例详解

    python中return的用法 1.return语句就是把执行结果返回到调用的地方,并把程序的控制权一起返回 程序运行到所遇到的第一个return即返回(退出def块),不会再运行第二个return. 例如: def haha(x,y): if x==y: return x,y print(haha(1,1)) 已改正: 结果:这种return传参会返回元组(1, 1) 2.但是也并不意味着一个函数体中只能有一个return 语句,例如: def test_return(x): if x >

  • Java ConcurrentHashMap用法案例详解

    一.概念 哈希算法(hash algorithm):是一种将任意内容的输入转换成相同长度输出的加密方式,其输出被称为哈希值. 哈希表(hash table):根据设定的哈希函数H(key)和处理冲突方法将一组关键字映象到一个有限的地址区间上,并以关键字在地址区间中的象作为记录在表中的存储位置,这种表称为哈希表或散列,所得存储位置称为哈希地址或散列地址. 二.HashMap与HashTable 1,线程不安全的HashMap 因为多线程环境下,使用HashMap进行put操作会引起死循环,导致CP

  • C++优先队列用法案例详解

    c++优先队列(priority_queue)用法详解 普通的队列是一种先进先出的数据结构,元素在队列尾追加,而从队列头删除. 在优先队列中,元素被赋予优先级.当访问元素时,具有最高优先级的元素最先删除.优先队列具有最高级先出 (first in, largest out)的行为特征. 首先要包含头文件#include<queue>, 他和queue不同的就在于我们可以自定义其中数据的优先级, 让优先级高的排在队列前面,优先出队. 优先队列具有队列的所有特性,包括队列的基本操作,只是在这基础上

  • CSS hack用法案例详解

    之前一直很狭隘的对CSS hack持有偏见,觉得写得规范的代码不应该使用这些"邪门歪道",可最近产品发布一个小问题却让我头疼了很久,最后查了一下资料,竟然使用CSS hack轻松解决了,不得不服啊,对付神奇的IE就得使用这些利器. 什么是CSS hack 由于不同的浏览器,甚至同一浏览器的不同版本对CSS的解析认识不一样,导致生成的页面效果不一致,写出针对不同浏览器CSS code就称为CSS hack. 常用的CSS hack 有三种方式,CSS 内部hack.选择器hack.HTM

  • C++ ostream用法案例详解

    概述 在 C++中,ostream表示输出流,英文"output stream"的简称.在 C++中常见的输出流对象就是标准输出流cout,很少自定义ostream的对象,更多的是直接使用cout.那么 ostream 有什么用呢,来看一个场景: class CPoint { public: CPoint(int x_,int y_):x(x_),y(y_){} int x,y; }; 这里定义了一个简单的类CPoint,如果我们实例化该类过后,想要打印对象的值: CPoint poi

  • MFC LoadImage用法案例详解

    目录 函数原型 cxDesired, cyDesired: fuLoad: 示例 1.加载Icon资源 2.加载本地磁盘的Icon文件 3.加载本地磁盘的Bitmap文件 函数原型 HANDLE LoadImage( HINSTANCE hinst, // 若加载程序外部资源传NULL,否则一般传AfxGetInstanceHandle() LPCTSTR lpszName, // 图片名称或全路径 UINT uType, // 图片类型:IMAGE_BITMAP或IMAGE_ICON或IMAG

随机推荐