public SelectFolderDialog() { fod = new FileOpenDialog(); ifod = (IFileOpenDialog)fod; FOS fos; ifod.GetOptions(out fos); ifod.SetOptions(fos | FOS.FOS_PICKFOLDERS); // Fix an apparent bug where the default folder is inside the last selected folder rather than selecting it in parent folder IShellItem defaultFolder; ifod.GetFolder(out defaultFolder); if (defaultFolder != null) { IShellItem parentFolder; defaultFolder.GetParent(out parentFolder); if (parentFolder != null) { ifod.SetFolder(parentFolder); } } }