本文介绍: 在C#中,OpenFileDialog控件用于创建一个打开文件对话框,允许用户选择文件。OpenFileDialog提供了一种简单的方式来让用户选择一个或多个文件,并获取用户所选文件的路径。OpenFileDialog是打开文件对话框的意思,即在窗体设计中,如果需要打开本地文件,就需要用到该类。
在C#中,OpenFileDialog控件用于创建一个打开文件对话框,允许用户选择文件。OpenFileDialog提供了一种简单的方式来让用户选择一个或多个文件,并获取用户所选文件的路径。
OpenFileDialog是打开文件对话框的意思,即在窗体设计中,如果需要打开本地文件,就需要用到该类。
一、OpenFileDialog基本属性
属性 | 说明 |
InitialDirectory | 对话框的初始目录 |
Filter | 获取或设置当前文件名筛选器字符串,例如,“文本文件(.txt)|.txt|所有文件(.)||.” |
FilterIndex | 在对话框中选择的文件筛选器的索引,如果选第一项就设为1 |
RestoreDirectory | 控制对话框在关闭之前是否恢复当前目录 |
FileName: | 第一个在对话框中显示的文件或最后一个选取的文件 |
Title | 将显示在对话框标题栏中的字符 |
AddExtension | 是否自动添加默认扩展名 |
CheckPathExists | 在对话框返回之前,检查指定路径是否存在 |
DefaultExt | 默认扩展名 |
DereferenceLinks | 在从对话框返回前是否取消引用快捷方式 |
ShowHelp | 启用“帮助”按钮 |
ValiDateNames | 控制对话框检查文件名中是否不含有无效的字符或序列 |
二、使用 OpenFile 从筛选的选择中打开文件
1.示例源码
//使用 OpenFile 从筛选的选择中打开文件
using System.Diagnostics;
using System.Security;
namespace WinFormsApp1
{
public partial class OpenFileDialogForm : Form
{
private readonly Button selectButton;
private readonly OpenFileDialog openFileDialog1;
public OpenFileDialogForm()
{
InitializeComponent();
//新建openFileDialog控件
openFileDialog1 = new OpenFileDialog()
{
FileName = "Select a text file", //OpenFileDialog窗体提示
Filter = "Text files (*.txt)|*.txt", //选择什么扩展名类型的文件
Title = "Open text file" //OpenFileDialog窗体的抬头
};
//新建按钮及点击事件
selectButton = new Button()
{
Size = new Size(100, 20),
Location = new Point(15, 15),
Text = "Select file"
};
selectButton.Click += new EventHandler(SelectButton_Click);
Controls.Add(selectButton);
}
/// <summary>
/// 按钮点击事件应用
/// 使用 Button 控件的 Click 事件处理程序打开包含仅显示文本文件的筛选器的 OpenFileDialog。
/// 用户选择文本文件并选择“确定”后,可用 OpenFile 方法在记事本中打开该文件
/// </summary>
private void SelectButton_Click(object? sender, EventArgs e)
{
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
try
{
var filePath = openFileDialog1.FileName;
using Stream str = openFileDialog1.OpenFile();
Process.Start("notepad.exe", filePath);
}
catch (SecurityException ex)
{
MessageBox.Show($"Security error.nnError message: {ex.Message}nn" +
$"Details:nn{ex.StackTrace}");
}
}
}
}
}
2.生成效果
3. 其它示例
写文章-CSDN创作中心 https://mp.csdn.net/mp_blog/creation/editor/134621313
三、使用 StreamReader 以流的形式读取文件
1.示例源码
//使用 StreamReader 以流的形式读取文件
using System.Security;
namespace _05_3
{
public partial class Form1 : Form
{
private readonly Button selectButton;
private readonly OpenFileDialog openFileDialog1;
private readonly TextBox textBox1;
public Form1()
{
InitializeComponent();
//创建OpenFileDialog控件openFileDialog1
openFileDialog1 = new OpenFileDialog();
//创建按钮控件selectButton及添加点击事件
selectButton = new Button
{
Size = new Size(100, 20),
Location = new Point(15, 15),
Text = "Select file"
};
selectButton.Click += new EventHandler(SelectButton_Click);
//创建文本框控件textBox1
textBox1 = new TextBox
{
Size = new Size(300, 300),
Location = new Point(15, 40),
Multiline = true,
ScrollBars = ScrollBars.Vertical
};
//设置Form1表格大小
ClientSize = new Size(330, 360);
Controls.Add(selectButton);
Controls.Add(textBox1);
}
//自定义方法
private void SetText(string text)
{
textBox1.Text = text;
}
/// <summary>
/// 使用 StreamReader 以流的形式读取文件
/// 使用 Windows 窗体 Button 控件的 Click 事件处理程序通过 ShowDialog 方法打开 OpenFileDialog。
/// 用户选择一个文件并选择“确定”后,StreamReader 类的实例将读取该文件,并在窗体的文本框中显示文件内容。
/// </summary>
private void SelectButton_Click(object? sender, EventArgs e)
{
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
try
{
var sr = new StreamReader(openFileDialog1.FileName);
SetText(sr.ReadToEnd());
}
catch (SecurityException ex)
{
MessageBox.Show($"Security error.nnError message: {ex.Message}nn" +
$"Details:nn{ex.StackTrace}");
}
}
}
}
}
2.生成效果
四、一种新颖的Windows窗体应用文件设计方法
这两个示例使用了一种Windows窗体应用文件新的设计方法,不设计Form1.cs[设计]。所有试图、控件都通过编程实现。是不是很新颖呢?你更喜欢哪一种设计方法呢?
原文地址:https://blog.csdn.net/wenchm/article/details/134630583
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_28508.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。