You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用VistaOpenFileDialog设置图片优先的文件筛选选项?

问题解决:VistaOpenFileDialog仅显示“所有文件”选项的修复

你的代码问题出在连续两次赋值dialog.Filter,第二次的"All Files (*.*)|*.*"直接覆盖了第一次定义的图片格式筛选规则,导致对话框里只能看到“所有文件”选项。

要实现默认显示图片格式、同时可切换至所有文件的需求,只需做两个修改:

  • 将图片格式和所有文件的筛选规则合并为一个字符串,用|分隔不同的筛选组
  • 设置FilterIndex = 1(筛选器索引从1开始),让图片格式成为默认选中项

修正后的完整代码如下:

private void button1_Click(object sender, EventArgs e)
{
    VistaOpenFileDialog dialog = new VistaOpenFileDialog();
    {
        // 合并两个筛选器,用|分隔不同选项
        dialog.Filter = "Images (*.jpg, *.bmp, *.gif)|*.jpg;*.bmp;*.gif|All Files (*.*)|*.*";
        // 设置默认选中第一个筛选器(图片格式)
        dialog.FilterIndex = 1;
    };

    if (dialog.ShowDialog() == DialogResult.OK)
    {
        textBox1.Text = dialog.FileName;

        Bitmap bmp = new Bitmap(Image.FromFile(dialog.FileName),
            pictureBox2.Width, pictureBox2.Height);
        pictureBox2.Image = bmp;
    }
}

内容的提问来源于stack exchange,提问作者Daniel Lip

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 21:15:47