OpenFileDialog 文件选择对话框

OpenFileDialog 文件选择对话框

OpenFileDialog 和之前的 FolderBrowserDialog 类似,不过之前是选择目录,现在这个是选择文件。

基本使用

同样用一个按钮和一个文本框,点击按钮弹出文件选择对话框,将选择的文件路径显示到文本框中。

private void button1_Click(object sender, EventArgs e)
{
    DialogResult dr = this.openFileDialog1.ShowDialog();
    if (dr == DialogResult.OK)
    {
        this.textBox1.Text = this.openFileDialog1.FileName;
    }
}Code language: JavaScript (javascript)

设置文件类型过滤

通过 Filter 属性可以限制显示的文件类型,格式为”描述|*.扩展名”:

this.openFileDialog1.Filter = "文本文件|*.txt|图片文件|*.jpg;*.png;*.gif|所有文件|*.*";Code language: JavaScript (javascript)

多个扩展名用分号隔开,多个过滤项之间用竖线隔开。

多选文件

设置 Multiselect 为 true 允许用户同时选择多个文件:

this.openFileDialog1.Multiselect = true;

private void button1_Click(object sender, EventArgs e)
{
    if (this.openFileDialog1.ShowDialog() == DialogResult.OK)
    {
        foreach (string file in this.openFileDialog1.FileNames)
        {
            MessageBox.Show(file);
        }
    }
}Code language: JavaScript (javascript)

常用属性

属性说明
FileName获取或设置选中文件的完整路径
FileNames获取所有选中文件的路径数组(多选时)
Filter文件类型过滤器
FilterIndex当前选中的过滤器索引(从1开始)
InitialDirectory初始打开的目录
Title对话框标题
Multiselect是否允许多选
CheckFileExists是否检查文件是否存在(默认 true)
CheckPathExists是否检查路径是否存在(默认 true)
DefaultExt默认文件扩展名
RestoreDirectory关闭后是否恢复当前目录
this.openFileDialog1.Title = "请选择要打开的文件";
this.openFileDialog1.InitialDirectory = @"C:\Documents";
this.openFileDialog1.DefaultExt = "txt";
this.openFileDialog1.FilterIndex = 1;Code language: JavaScript (javascript)

常用方法

方法说明
ShowDialog()显示对话框,返回 DialogResult
OpenFile()以只读方式打开选中的文件,返回 Stream
Reset()重置所有属性到默认值
// 直接打开文件流
private void button1_Click(object sender, EventArgs e)
{
    if (this.openFileDialog1.ShowDialog() == DialogResult.OK)
    {
        using (Stream stream = this.openFileDialog1.OpenFile())
        {
            // 读取文件内容
        }
    }
}Code language: JavaScript (javascript)

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注