private void SetDialogProperties(API.IFileDialog dialog) { // Description if( !string.IsNullOrEmpty(_description) ) { if( _useDescriptionForTitle ) { dialog.SetTitle(_description); } else { API.IFileDialogCustomize customize = (API.IFileDialogCustomize)dialog; customize.AddText(0, _description); } } dialog.SetOptions(API.FOS.FOS_PICKFOLDERS | API.FOS.FOS_FORCEFILESYSTEM | API.FOS.FOS_FILEMUSTEXIST); if( !string.IsNullOrEmpty(_selectedPath) ) { string parent = Path.GetDirectoryName(_selectedPath); if( parent == null || !Directory.Exists(parent) ) { dialog.SetFileName(_selectedPath); } else { string folder = Path.GetFileName(_selectedPath); dialog.SetFolder(API.CreateItemFromParsingName(parent)); dialog.SetFileName(folder); } } }