【发布时间】:2013-06-21 15:33:46
【问题描述】:
我在使用 FolderBrowserDialog 的 fb.SelectedPath 函数时遇到了问题。 一切都很好,只要绝对路径不包含任何“.”。
例如:
try
{
if (arg == 1)
fb_dialog.SelectedPath = Path.GetFullPath(tb_path.Text);
else
fb_dialog.SelectedPath = Path.GetFullPath(Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location));
}
catch { fb_dialog.RootFolder = System.Environment.SpecialFolder.MyComputer; }
如果 System.Reflection.Assembly.GetExecutingAssembly().Location 不包含任何“.”,它会将用户导航到该文件夹。假设路径是这样的:“C:\Prog” 但如果它返回一个带有“。”的路径。在其中,例如“C:\Prog.Test”,它将不起作用。它打开对话框,不返回任何错误,但停留在文件浏览器的“根”(如果指定,否则为“桌面”)。
任何想法如何解决这个问题?因为它很烦人。
感谢您的帮助。
更新:由keyboardP在这篇文章中解决:click me
【问题讨论】:
-
这里可能存在系统问题,因为我可以使用以下路径而不会出错:
R:\Documents\Sheets\my.folder\another.dot.folder -
@terrybozzio 你必须这样做:
Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().FullName)
标签: c#