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对话框
# 对话框中
# 文本文件
# 清空
# 多选
# 的是
# 第一个
# 设为
# 要在
# 扩展名
# 请选择
# 不包括
# 命名为
# 单击
# 大家多多
# 所选
# 栏中
# 新建一个
# 应用程序
# 最终用户
相关文章:
北京制作网站的公司,北京铁路集团官方网站?
品牌网站制作公司有哪些,买正品品牌一般去哪个网站买?
制作网站的过程怎么写,用凡科建站如何制作自己的网站?
广州顶尖建站服务:企业官网建设与SEO优化一体化方案
如何在建站之星绑定自定义域名?
网站制作价目表怎么做,珍爱网婚介费用多少?
建站之星代理如何优化在线客服效率?
网站海报制作教学视频教程,有什么免费的高清可商用图片网站,用于海报设计?
如何在阿里云高效完成企业建站全流程?
建站之星如何快速解决建站难题?
建站之星如何防范黑客攻击与数据泄露?
湖州网站制作公司有哪些,浙江中蓝新能源公司官网?
建站之星24小时客服电话如何获取?
电脑免费海报制作网站推荐,招聘海报哪个网站多?
定制建站策划方案_专业建站与网站建设方案一站式指南
如何通过云梦建站系统实现SEO快速优化?
手机怎么制作网站教程步骤,手机怎么做自己的网页链接?
济南网站制作的价格,历城一职专官方网站?
rsync同步时出现rsync: failed to set times on “xxxx”: Operation not permitted
如何在云服务器上快速搭建个人网站?
制作表格网站有哪些,线上表格怎么弄?
专业商城网站制作公司有哪些,pi商城官网是哪个?
如何快速查询网站的真实建站时间?
齐河建站公司:营销型网站建设与SEO优化双核驱动策略
如何做静态网页,sublimetext3.0制作静态网页?
如何在云主机上快速搭建网站?
开封网站制作公司,网络用语开封是什么意思?
建站之星导航如何优化提升用户体验?
网站制作软件免费下载安装,有哪些免费下载的软件网站?
如何自己制作一个网站链接,如何制作一个企业网站,建设网站的基本步骤有哪些?
建站之星手机一键生成:多端自适应+小程序开发快速建站指南
建站之星如何实现PC+手机+微信网站五合一建站?
如何选择可靠的免备案建站服务器?
建站VPS能否同时实现高效与安全翻墙?
如何通过商城免费建站系统源码自定义网站主题?
宝塔新建站点为何无法访问?如何排查?
已有域名能否直接搭建网站?
建站主机系统SEO优化与智能配置核心关键词操作指南
临沂网站制作企业,临沂第三中学官方网站?
建站之星如何修改网站生成路径?
建设网站制作价格,怎样建立自己的公司网站?
家具网站制作软件,家具厂怎么跑业务?
如何注册花生壳免费域名并搭建个人网站?
如何选择高效可靠的多用户建站源码资源?
小型网站建站如何选择虚拟主机?
c# Task.ConfigureAwait(true) 在什么场景下是必须的
建站主机如何选?高性价比方案全解析
建站之星会员如何解锁更多建站功能?
青岛网站建设如何选择本地服务器?
厦门模型网站设计制作公司,厦门航空飞机模型掉色怎么办?
*请认真填写需求信息,我们会在24小时内与您取得联系。