关于WPF中openfiledialog文件多选

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于WPF中openfiledialog文件多选相关的知识,希望对你有一定的参考价值。

Multiselect = true 已经设置了,为什么还是只能选择一个呢

详见代码和注释:

System.Windows.Forms.OpenFileDialog openFile = new System.Windows.Forms.OpenFileDialog();
openFile.CheckFileExists = true;//检查文件是否存在
openFile.CheckPathExists = true;//检查路径是否存在
openFile.Multiselect = true;//是否允许多选,false表示单选
openFile.InitialDirectory = "C:\\\\";//设置打开时的默认路径,我这里设置为C盘根目录
string filter = "txt,doc";
filter = filter.TrimEnd(',');
if (filter.Equals(""))

    filter = "*";

filter = filter.Replace(",", ";*.");
filter = "*." + filter;
openFile.Filter = "Txt files (" + filter + ")|" + filter + "|All files (*.*)|*.*";//这里设置的是文件过滤器,比如选了txt文件,那别的文件就看不到了
if (openFile.ShowDialog() == System.Windows.Forms.DialogResult.OK)//打开文件选择器,并按下选择按钮

    String[] names = openFile.FileNames;
    String message = "已选择的文件如下:\\r\\n";
    for (int i = 0; i < names.length; i++)
    
        message += names + "\\r\\n";
    
    MessageBox.show(message);

 另外,你说不能多选,这个多选时要按住Ctrl才能选中多个文件,或者按住鼠标左键滑动以选定多个目标才行。

参考技术A

是不是文件类型做了限制

我的都可以选择多个,给你看我的截图

参考技术B

属性设置

WPF文件和文件夹的操作

 

1、对文件的操作

    private void button_chose_Click(object sender, RoutedEventArgs e)  
    {  
        var openFileDialog = new Microsoft.Win32.OpenFileDialog()  
        {  
            Filter = "Excel Files (*.sql)|*.sql"  
        };  
        var result = openFileDialog.ShowDialog();  
        if (result == true)  
        {  
            this.textblock_filename.Text = openFileDialog.FileName;  
        }  
    }  

2、文件夹的操作,选择文件夹对话框:WPF中似乎没有打开文件夹对话框,不过可以通过winform的方法打开,调研之前需要引用System.Windows.Forms;

private void button_runScript_Click(object sender, RoutedEventArgs e)  
{  
    FolderBrowserDialog m_Dialog = new FolderBrowserDialog();  
    DialogResult result = m_Dialog.ShowDialog();  
  
    if (result == System.Windows.Forms.DialogResult.Cancel)  
    {  
        return;  
    }  
    string m_Dir = m_Dialog.SelectedPath.Trim();  
    this.textblock_filename.Text = m_Dir;  
} 

 

以上是关于关于WPF中openfiledialog文件多选的主要内容,如果未能解决你的问题,请参考以下文章

WPF C#怎么批量读取和创建文件(类似txt文件)

OpenFileDialog 多选问题

wpf打开文夹和打开文件

OpenFileDialog 导致 WPF 应用程序崩溃

OpenFileDialog 永久存储文件

WPF文件和文件夹的操作