public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value) { FolderBrowserDialogEx browser = new FolderBrowserDialogEx(); if (value != null) { browser.DirectoryPath = string.Format("{0}", value); } if (browser.ShowDialog(null) == DialogResult.OK) { return(browser.DirectoryPath); } return(value); }
/// <summary> /// 选择文件夹 /// </summary> /// <param name="desc">说明</param> /// <param name="dir">返回true则path为选择文件夹路径</param> /// <returns>是否选择文件夹</returns> public static bool SelectDirEx(string desc, ref string dir) { bool bOk = false; using (FolderBrowserDialogEx fd = new FolderBrowserDialogEx { Description = desc, DirectoryPath = dir }) { if (fd.ShowDialog(null) == DialogResult.OK) { dir = fd.DirectoryPath.DealPath(); bOk = true; } } return(bOk); }