C# 选择文件Filter文件后缀很全

本文详细介绍了如何在C#中使用文件选择器对话框,包括设置对话框标题、初始目录、过滤器以及获取所选文件的路径。通过实例代码展示了如何在按钮点击事件中调用文件选择器。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  private void btn_selectfile_Click(object sender, EventArgs e)
        {
            //打开文件
            OpenFileDialog ofd = new OpenFileDialog();
            ofd.Title = "选择要传的文件";
            ofd.InitialDirectory = @"C:\Users\Administrator\Desktop";
            string filter = @"所有文件|*.*|
                           压缩文件|*.zip;*.rar;*.arj|
                           文本文档|*.txt;*.pdf;*.doc;*.html;*.wps;*.rtf|
                           图片文件|*.jpg;*.png;*.gif;*.jpeg;*.bmp|
                           视频文件|*.avi;*.mp3;*.swf;*.mpg;*.mov|
                           系统文件|*.int;*.sys;*.dll;*.adt|
                           可执行文件|*.exe;*.com;*.bat;*.vbs";
            ofd.Filter = Regex.Replace(filter, @"\s", "");
            ofd.ShowDialog();
            //得到选择文件的路径
            txt_filepath.Text = ofd.FileName;
        }

 

### C# 中使用 OpenFileDialog 实现后缀筛选并支持多文件选择C# 的 WinForms 应用程序中,`OpenFileDialog` 控件可以用来实现文件选择功能。为了满足后缀筛选和多文件选择的需求,可以通过设置 `Filter` 和 `Multiselect` 属性来实现。 以下是一个完整的示例代码,展示了如何设置文件后缀筛选以及支持多文件选择: ```csharp using System; using System.Windows.Forms; public class FileSelector : Form { private Button selectButton; private ListBox listBox; public FileSelector() { selectButton = new Button { Text = "选择文件", Dock = DockStyle.Top }; listBox = new ListBox { Dock = DockStyle.Fill }; selectButton.Click += SelectButton_Click; Controls.Add(listBox); Controls.Add(selectButton); } private void SelectButton_Click(object sender, EventArgs e) { OpenFileDialog openFileDialog = new OpenFileDialog { // 设置初始目录 InitialDirectory = @"C:\", // 设置文件筛选器,例如只允许选择图片或音乐文件 Filter = "音频文件(*.mp3;*.wav)|*.mp3;*.wav|所有文件(*.*)|*.*", // 设置默认筛选器索引 FilterIndex = 1, // 允许多选 Multiselect = true, // 恢复当前目录 RestoreDirectory = true }; if (openFileDialog.ShowDialog() == DialogResult.OK) { // 清空列表框内容 listBox.Items.Clear(); // 获取选中的文件路径数组 string[] fileNames = openFileDialog.FileNames; foreach (string fileName in fileNames) { // 将每个文件名添加到列表框中 listBox.Items.Add(fileName); } } } [STAThread] public static void Main() { Application.EnableVisualStyles(); Application.Run(new FileSelector()); } } ``` #### 示例代码说明 1. **InitialDirectory**:设置对话框打开时的初始目录[^1]。 2. **Filter**:定义文件筛选器,格式为 `"显示名称(扩展名)|扩展名"`。多个筛选条件之间用竖线 `|` 分隔[^2]。 3. **FilterIndex**:指定默认显示的筛选器索引,索引从 1 开始[^1]。 4. **Multiselect**:设置为 `true` 以允许多文件选择[^2]。 5. **RestoreDirectory**:确保在关闭对话框时恢复当前目录[^1]。 6. **FileNames**:当 `Multiselect` 为 `true` 时,返回一个包含所有选中文件路径的字符串数组[^2]。 ### 注意事项 - 如果需要处理特定类型的文件(如音频文件),可以通过 `Filter` 属性限制用户只能选择指定后缀的文件。 - 在实际应用中,建议对文件路径进行异常处理,例如检查文件是否存在或是否可读取。 ---
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值