OpenFileDialog是什么?

OpenFileDialog是一个类,实例化此类可以设置弹出一个文件对话框。比如:我们发邮件时需要上传附件的时候,就会弹出一个让我们选择文件的对话框,

我们可以根据自己的需求,自行设置一些对话框的属性,那么怎么使用它呢?

OpenFileDialog的一些常用属性

1.title  title 属性属性可以设置文件对话框的标题

OpenFileDialog ofd = new OpenFileDialog();

ofd.Title = "请选择图片;

2.InitialDirectory

 此属性可以设置打开文件对话框的默认路径,有两种方式供用户选择:一种是设置一个绝对路径,一种是设置系统提供的特殊路径。
 1)设置绝对路径

ofd.InitialDirectory = @"E:\计算机资料\01 C#视频\基础实训4\1110C#基础\资料\img";

2)设置系统提供的一些特殊路径

//这是系统提供的桌面路径,还可以是其他的路径:比如文档、音乐等文件夹
ofd.InitialDirectory = System.Environment.GetFolderPath(Environment.SpecialFolder.Desktop);

3.Filter
 Filter属性可以过滤要选择的文件类型,也有两种方式。
 1)过滤不同类型的文件

//过滤不同类型的文件
ofd.Filter = "(*.jpg)|*.jpg|(*.txt)|*.txt";

2)过滤同种类型的文件

ofd.Filter = "(*.jpg;*.txt)|*.jpg;*.txt";

通过对比可以发现这是两种不同的方式,其实一个括号就是一项,不管括号中有几种文件类型。

4.Multiselect
 此属性表示是否可以选择多个文件,默认是不可以多选的。

//表示可以多选
ofd.Multiselect = true;

5.显示文件对话框
 1)只是单纯的显示对话框,实际上没有什么作用

ofd.ShowDialog();

2)常用第二种,当我们按下哪个按钮,对应的发生什么事件

if (ofd.ShowDialog() == DialogResult.OK)
{
    string[] strNames = ofd.SafeFileNames;
    //将文件名添加到 listbox 中
    for (int i = 0; i < strNames.Length; i++)
    {
        listBox1.Items.Add(strNames[i]);
    }
}

6.FileName
 此属性返回选中文件的路径。适用选中一个文件,如果是多个文件就用 FileNames,用数组接收。

7.SafeFileName
 此属性只返回选中文件的文件名+后缀名。如果选中多个文件就用 SafeFileNames。

---------------------

来源:CSDN 作者:张伟杰-Vijay 原文:https://blog.csdn.net/zwj_jyzl/article/details/80725056

c#—OpenFileDialog的更多相关文章

  1. 1、怎样设置C#OpenFileDialog(文件选择窗体)的指定路径、文件格式等属性(设置打开默认路径、文件格式、窗体显示文本)

    C#的OpenFileDialog的常用属性设置 1.设置属性 1)设置弹出的指定路径(绝对路径.相等路径) 2)设置标题 3)设置文本格式 2.打开方式1(绝对路径) 2.1) 打开的路径

  2. Dev 关于用openFileDialog控件上传图片的问题

    1. OpenFileDialog控件有以下基本属性 InitialDirectory 对话框的初始目录 Filter 要在对话框中显示的文件筛选器,例如,"文本文件(*.txt)|*.tx ...

  3. C# winform OpenFileDialog MessageBox

    1.弹出窗体选择本地文件-OpenFileDialog OpenFileDialog openFileDialog = new OpenFileDialog(); openFileDialog.Tit ...

  4. OpenFileDialog获取文件名和文件路径问题

    OpenFileDialog获取文件名和文件路径问题(转) 转自:http://blog.sina.com.cn/s/blog_7511914e0101cbjn.html System.IO.Path ...

  5. 使用OpenFileDialog会更改默认程序目录

    这个问题可能只有在特定的程序中会发现:当我们在程序中使用相对路径时是依赖于当前目录的.所以在使用类似代码: XElement rootNode = XElement.Load(@"zips/ ...

  6. OpenFileDialog - 设置 - Filter 笔记

    using (OpenFileDialog fileSelectDialog = new OpenFileDialog()) { fileSelectDialog.Multiselect = fals ...

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

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

  8. C# OpenFileDialog

    OpenFileDialog 用于浏览并打开文件,在Windows Forms中使用,表现为标准的Windows对话框. 实例: 1.新建Windows Form Application 2.添加Op ...

  9. OpenFileDialog使用方法

    OpenFileDialog基本属性 AddExtension 控制是否将扩展名自动添加到文件名上 CheckFileExists 指示用户指定不存在的文件时是否显示警告 CheckPathExist ...

  10. C# OpenFileDialog和PictrueBox

     string resultFile = ""; OpenFileDialog openFileDialog1 = new OpenFileDialog(); openFile ...

随机推荐

  1. 剑指Offer的学习笔记(C#篇)-- 包含min函数的栈

    题目描述 定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1)). 一 . 题目该怎么想 1 . 定义栈的数据结构:实现Push.Pop.Top.Min方 ...

  2. Linux ssh 密钥对登陆设置

    SSH通过密钥连接 ssh -i ~/miyao.pem root@server_ip 密钥权限要设置为仅root用户读写 chmod 600 ~/miyao.pem 密钥可添加到系统里,以后连接可除 ...

  3. Centos 7 install cacti监控

    首先,先安装LNMP服务 安装一: 如果觉得安装起来麻烦,可以到如下网站进行安装: https://lnmp.org/install.html 安装二: 采用yum或者安装包的方式进行安装,具体操作请 ...

  4. 6.计算字段 ---SQL

    提示:客户端与服务器的格式在SQL语句内可完成的许多转换和格式化工作都可以直接在客户端应用程序内完成.但一般来说,在数据库服务器上完成这些操作比在客户端中完成要快得多. 一.拼接字段 拼接(conca ...

  5. [Java]String、 StringBuffer、StringBuilder的区别

    一.异同点: 1) 都是 final 类, 都不允许被继承; 2) String 长度是不可变的, StringBuffer.StringBuilder 长度是可变的; 3) StringBuffer ...

  6. CF620E New Year Tree 状压+线段树(+dfs序?)

    借用学长的活:60种颜色是突破口(我咋不知道QAQ) 好像这几道都是线段树+dfs序??于是你可以把60种颜色压进一个long long 里,然后向上合并的时候与一下(太妙了~) 所以记得开long ...

  7. 牛客网Java刷题知识点之正则表达式(Matcher、Pattern)

    不多说,直接上干货! 正则表达式是什么? 正则表达式是一种可以用于模式匹配和替换的规范, 一个正则表达式就是由普通的字符(例如字符a到z) 以及特殊字符(元字符) 组成的文字模式, 它用以描述在查找文 ...

  8. Linux开机启动服务

    一.添加启动脚本 vim /etc/rc.d/rc.local sh /home/glt/apache-tomcat-/bin/email.sh 二.启动服务 systemctl enable rc- ...

  9. 微信小程序tabBar显示问题

    在微信小程序的开发中,我遇到疑惑如下: 在app.json中定义了多个pages,一般微信小程序启动的时候,自动加载pages下的第一个页面, "pages": [        ...

  10. 【转】"超时时间已到。在操作完成之前超时时间已过或服务器未响应"的解决方法

    方法有以下三种: 1.原因应该在数据访问有问题,可以把连接时间设置长些,在数据库连接字符串,加上Connect Timeout=18000,单位毫秒 2,在web.config中加上以下语句: < ...