首页 > 解决方案 > C# OpenFileDialog/CommonOpenFileDialog

问题描述

我正在处理应该打开文件对话框并将它们放入文本框中的这段代码。

错误是每次我在运行应用程序时选择超过 1 个文件时,都会在文本框中出现错误。如果我只选择一个文件,它工作正常。

代码是这样的

    private void filePickerButton_Click(object sender, RoutedEventArgs e)
    {
        // Create the OpenFileDialog object
        OpenFileDialog dialog = new OpenFileDialog();
        dialog.InitialDirectory = "C:\\Users";
        dialog.Multiselect = true;

        // Check to see if we have a result 
        if (dialog.ShowDialog() == true)
        {
            filePickerTextBox.Text = dialog.FileNames.ToString();
        }
        else
        {
            outputTextBox.Text = "Operation cancelled." + "\n" + outputTextBox.Text;
        }
    }

我在 dialog.Filename.ToString(); 之间切换 (选择一个文件)和 dialog.Filenames.ToString(); 选择多个。当使用后者并选择一个文件(无论是唯一的文件还是多个文件都没有关系)时,我的文本框会显示 System.String[]

有人知道怎么修这个东西吗?

谢谢!

标签: c#filenamesopenfiledialog

解决方案


当您选择多个文件时,您会得到一组文件,正如您的文本框所说:System.String[]

你可以使用:

filePickerTextBox.Text = string.join(",", dialog.FileNames);

推荐阅读