c# - 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[]
有人知道怎么修这个东西吗?
谢谢!
解决方案
当您选择多个文件时,您会得到一组文件,正如您的文本框所说:System.String[]
你可以使用:
filePickerTextBox.Text = string.join(",", dialog.FileNames);
推荐阅读
- amazon-web-services - RDS 触发器的 Lambda 函数访问导致连接丢失
- python-3.x - 如何在文件中列出已通过所有考试的学生名单
- r - 有条件地将嵌套(字符)列表中的项目排序/变异到 R 中的新列中
- python - 在 beautifulsoup 的列表中使用 len 时,Python 'int' 对象不可迭代
- r - R中的“索引”(在数学意义上)变量,以便在循环的每次迭代中选择正确的变量
- go - 在 Golang 中强制错误处理 - 或不允许忽略返回值
- html - CSS - 是否可以在盒子阴影上添加边框?
- batch-file - 如何使用批处理命令将新行添加到 .ini 文件中已存在的部分?
- c++ - OpenEXR RgbaOutputFile 在 Nuke 中被翻转
- bixby - Bixby 函数中收到未定义的参数