C#使用CommonOpenFileDialog选文件夹后文本框显示类名怎么办
问题分析
代码的错误点在于给文本框赋值时,传入的是CommonOpenFileDialog实例本身,调用Convert.ToString()处理没有重写ToString()逻辑的类实例时,默认会返回该类型的完全限定名,也就是你看到的Microsoft.WindowsAPICodePack.Dialogs.CommonOpenFileDialog字符串,根本没有读取到用户选中的路径值。
修复方案
用户选中的文件夹路径存储在对话框实例的FileName属性中,直接读取该属性赋值给文本框即可,修正后的代码如下:
CommonOpenFileDialog dialog = new CommonOpenFileDialog(); dialog.IsFolderPicker = true; if (dialog.ShowDialog() == CommonFileDialogResult.Ok) { textBox1.Text = dialog.FileName; }
补充说明:如果需要支持同时选择多个文件夹,可以先将dialog.Multiselect属性设为true,选中后遍历dialog.FileNames字符串集合即可获取所有选中的文件夹路径。
内容的提问来源于stack exchange,提问作者CrossyAtom46
相关产品推荐
相关产品推荐

