C# OpenFileDialog/CommonOpenFileDialog
C# OpenFileDialog/CommonOpenFileDialog
我正在处理这段代码,它应该打开一个文件对话框并将它们放入文本框中。
错误是每次我 select 超过 1 个文件而 运行 应用程序时,我在文本框中收到错误消息。如果我 select 只有一个文件,它工作正常。
代码是这样
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()之间切换; (到 select 一个文件)和 dialog.Filenames.ToString();到 select 倍。当使用后者并 selecting 一个文件时(无论是只有一个,还是多个,都没有关系),我的文本框显示 System.String[]
有人知道如何解决这个问题吗?
谢谢!
当您选择多个文件时,您会得到一组文件,如您的文本框所示:System.String[]
你可以使用:
filePickerTextBox.Text = string.join(",", dialog.FileNames);
我正在处理这段代码,它应该打开一个文件对话框并将它们放入文本框中。
错误是每次我 select 超过 1 个文件而 运行 应用程序时,我在文本框中收到错误消息。如果我 select 只有一个文件,它工作正常。
代码是这样
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()之间切换; (到 select 一个文件)和 dialog.Filenames.ToString();到 select 倍。当使用后者并 selecting 一个文件时(无论是只有一个,还是多个,都没有关系),我的文本框显示 System.String[]
有人知道如何解决这个问题吗?
谢谢!
当您选择多个文件时,您会得到一组文件,如您的文本框所示:System.String[]
你可以使用:
filePickerTextBox.Text = string.join(",", dialog.FileNames);