在C# WinForms应用程序中添加文件选择窗体及选中限制类型

发布时间 2023-09-13 15:42:09作者: 第9527号嵌入式菜鸟

在C# WinForms应用程序中,你可以使用`OpenFileDialog`类来实现这个功能。以下是一个简单的示例:

using System;
using System.Windows.Forms;

public partial class MainForm : Form
{
    public MainForm()
    {
        InitializeComponent();
    }

    private void button1_Click(object sender, EventArgs e)
    {
        using (OpenFileDialog openFileDialog = new OpenFileDialog())
        {
            openFileDialog.InitialDirectory = "c:\\"; // 指定的文件夹
            openFileDialog.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*"; // 文件过滤器
            openFileDialog.FilterIndex = 2;
            openFileDialog.RestoreDirectory = true;

            if (openFileDialog.ShowDialog() == DialogResult.OK)
            {
                // 获取选定文件的路径
                string filePath = openFileDialog.FileName;

                // 获取选定文件的名称
                string fileName = openFileDialog.SafeFileName;

                // 在这里,你可以使用文件的路径和名称
                MessageBox.Show("文件路径: " + filePath + "\n文件名: " + fileName);
            }
        }
    }
}

在这个示例中,当你点击一个按钮时,会弹出一个`OpenFileDialog`对话框。你可以浏览到指定的文件夹,并选择一个文件。然后,对话框会返回选定文件的路径和名称。

请注意,你需要根据你的需求来修改这个示例。例如,你可能需要改变初始目录或文件过滤器,或者在用户选择文件后执行不同的操作。

添加文件选择类型限制

using System;
using System.IO;
using System.Windows.Forms;

public partial class MainForm : Form
{
    public MainForm()
    {
        InitializeComponent();
    }

    private void button1_Click(object sender, EventArgs e)
    {
        using (OpenFileDialog openFileDialog = new OpenFileDialog())
        {
            openFileDialog.InitialDirectory = "c:\\"; // 指定的文件夹
            openFileDialog.Filter = "cfg files (*.pdf)|*.pdf|All files (*.*)|*.*"; // 文件过滤器
            openFileDialog.FilterIndex = 1;
            openFileDialog.RestoreDirectory = true;

            while (true)
            {
                if (openFileDialog.ShowDialog() == DialogResult.OK)
                {
                    // 获取选定文件的路径
                    string filePath = openFileDialog.FileName;

                    // 检查文件扩展名
                    if (Path.GetExtension(filePath).ToLower() != ".pdf")
                    {
                        MessageBox.Show("请选择一个.pdf文件。");
                        continue;
                    }

                    // 获取选定文件的名称
                    string fileName = openFileDialog.SafeFileName;

                    // 在这里,你可以使用文件的路径和名称
                    MessageBox.Show("文件路径: " + filePath + "\n文件名: " + fileName);
                }
                break;
            }
        }
    }
}