OpenFileDialog类提供了用户打开文件的功能,它有如下属性:

属性
InitialDirectory:设置对话框的初始目录。
Filter:要在对话框中显示的文件筛选器,例如,"文本文件(*.txt)|*.txt|所有文件(*.*)||*.*"。
FilterIndex:在对话框中选择的文件筛选器的索引,如果选第一项就设为1。
RestoreDirectory:控制对话框在关闭之前是否恢复当前目录。
FileName:第一个在对话框中显示的文件或最后一个选取的文件。
Title:将显示在对话框标题栏中的名称。
Multiselect:设置打开对话框可以多选。
1、新建一个Winform窗体应用程序,命名为:OpenFileDialogDemo
2、在界面上添加一个按钮的控件(用于打开文件的窗口),添加日志输出的文本控件(输出最终用户打开的文件的目录、文件名称和文件内容)。
3、后台代码实现:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace OpenFileDialogDemo
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
/// <summary>
/// 打开文件按钮单击事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btn_OpenFile_Click(object sender, EventArgs e)
{
//定义一个文件打开控件
OpenFileDialog ofd = new OpenFileDialog();
//设置打开对话框的初始目录,默认目录为exe运行文件所在的路径
ofd.InitialDirectory = Application.StartupPath;
//设置打开对话框的标题
ofd.Title = "请选择要打开的文件";
//设置打开对话框可以多选
ofd.Multiselect = true;
//设置对话框打开的文件类型
ofd.Filter = "文本文件|*.txt|音频文件|*.wav|图片文件|*.jpg|所有文件|*.*";
//设置文件对话框当前选定的筛选器的索引
ofd.FilterIndex = 2;
//设置对话框是否记忆之前打开的目录
ofd.RestoreDirectory = true;
if (ofd.ShowDialog() == DialogResult.OK)
{
//获取用户选择的文件完整路径
string filePath = ofd.FileName;
//获取对话框中所选文件的文件名和扩展名,文件名不包括路径
string fileName = ofd.SafeFileName;
OutLog("用户选择的文件目录为:" + filePath);
OutLog("用户选择的文件名称为:"+fileName);
OutLog("**************选中文件的内容**************");
using (FileStream fsRead = new FileStream(filePath, FileMode.OpenOrCreate, FileAccess.Read))
{
//定义二进制数组
byte[] buffer = new byte[1024 * 1024 * 5];
//从流中读取字节
int r= fsRead.Read(buffer, 0, buffer.Length);
OutLog(Encoding.Default.GetString(buffer,0,r));
}
}
}
/// <summary>
/// 输出日志
/// </summary>
/// <param name="strLog"></param>
private void OutLog(string strLog)
{
//如果日志信息长度超过1000行,则自动清空
if (txt_FileInfo.GetLineFromCharIndex(txt_FileInfo.Text.Length) > 1000)
{
//清空文本
txt_FileInfo.Clear();
}
txt_FileInfo.AppendText(DateTime.Now.ToString("HH:mm:ss ")+strLog+"\r\n");
}
}
}
4、生成exe文件测试
5、点击打开文件按钮,打开对话框。默认的目录是exe文件所在的目录:
6、在打开文件的类型中是我们设置的4和类型,默认选中的是第2个音频文件类型:
7、选中要打开的文件后,程序运行效果:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# Winform
# OpenFileDialog
# 对话框
# C#开发Winform控件之打开文件对话框OpenFileDialog类
# C#弹出对话框确定或者取消执行相应操作的实例代码
# C#实现winform自动关闭MessageBox对话框的方法
# winform 实现选择文件和选择文件夹对话框的简单实例
# C#中的Dialog对话框
# 对话框中
# 文本文件
# 清空
# 多选
# 的是
# 第一个
# 设为
# 要在
# 扩展名
# 请选择
# 不包括
# 命名为
# 单击
# 大家多多
# 所选
# 栏中
# 新建一个
# 应用程序
# 最终用户
相关文章:
微信推文制作网站有哪些,怎么做微信推文,急?
如何选择高效响应式自助建站源码系统?
西安大型网站制作公司,西安招聘网站最好的是哪个?
如何选择适配移动端的WAP自助建站平台?
建站之星如何一键生成手机站?
SAX解析器是什么,它与DOM在处理大型XML文件时有何不同?
已有域名能否直接搭建网站?
北京制作网站的公司,北京铁路集团官方网站?
江苏网站制作公司有哪些,江苏书法考级官方网站?
合肥做个网站多少钱,合肥本地有没有比较靠谱的交友平台?
矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?
如何配置IIS站点权限与局域网访问?
购物网站制作费用多少,开办网上购物网站,需要办理哪些手续?
网站制作与设计教程,如何制作一个企业网站,建设网站的基本步骤有哪些?
手机网站制作与建设方案,手机网站如何建设?
新网站制作渠道有哪些,跪求一个无线渠道比较强的小说网站,我要发表小说?
香港网站服务器数量如何影响SEO优化效果?
如何在宝塔面板中创建新站点?
专业制作网站的公司哪家好,建立一个公司网站的费用.有哪些部分,分别要多少钱?
海南网站制作公司有哪些,海口网是哪家的?
c++怎么用jemalloc c++替换默认内存分配器【性能】
如何处理“XML格式不正确”错误 常见XML well-formed问题解决方法
免费视频制作网站,更新又快又好的免费电影网站?
建站之星如何实现PC+手机+微信网站五合一建站?
如何在沈阳梯子盘古建站优化SEO排名与功能模块?
广平建站公司哪家专业可靠?如何选择?
如何选择长沙网站建站模板?H5响应式与品牌定制哪个更优?
黑客如何利用漏洞与弱口令入侵网站服务器?
建站主机如何安装配置?新手必看操作指南
再谈Python中的字符串与字符编码(推荐)
网站设计制作企业有哪些,抖音官网主页怎么设置?
,巨量百应是干嘛的?
建站之星logo尺寸如何设置最合适?
制作网站的模板软件,网站怎么建设?
宁波免费建站如何选择可靠模板与平台?
中山网站推广排名,中山信息港登录入口?
,购物网站怎么盈利呢?
三星网站视频制作教程下载,三星w23网页如何全屏?
无锡制作网站公司有哪些,无锡优八网络科技有限公司介绍?
如何在七牛云存储上搭建网站并设置自定义域名?
行程制作网站有哪些,第三方机票电子行程单怎么开?
详解ASP.NET 生成二维码实例(采用ThoughtWorks.QRCode和QrCode.Net两种方式)
如何用AWS免费套餐快速搭建高效网站?
网站制作免费,什么网站能看正片电影?
东莞市网站制作公司有哪些,东莞找工作用什么网站好?
深圳网站制作设计招聘,关于服装设计的流行趋势,哪里的资料比较全面?
如何在万网自助建站平台快速创建网站?
打鱼网站制作软件,波克捕鱼官方号怎么注册?
制作网站怎么制作,*游戏网站怎么搭建?
制作宣传网站的软件,小红书可以宣传网站吗?
*请认真填写需求信息,我们会在24小时内与您取得联系。