请参阅下面的快照。这取自Visual Studio2008中的“新建项目”工作流程。
此窗口用于选择将存储项目的文件夹。如何在c#应用程序中创建类似的窗口?
发布于 2015-02-11 16:01:52
这与Office中类似,这是一个允许选择文件夹的对话框。唯一的区别是选择文件夹按钮被命名为"OK“而不是"Select folder”。
Microsoft.Office.Interop.Excel.Application app = new Microsoft.Office.Interop.Excel.Application();
Microsoft.Office.Core.FileDialog fileDialog = app.get_FileDialog(Microsoft.Office.Core.MsoFileDialogType.msoFileDialogFolderPicker);
fileDialog.InitialFileName = "c:\\Temp\\"; //something you want
int nres = fileDialog.Show();
if (nres == -1) //ok
{
Microsoft.Office.Core.FileDialogSelectedItems selectedItems = fileDialog.SelectedItems;
string[] selectedFolders = selectedItems.Cast<string>().ToArray();
if (selectedFolders.Length > 0)
{
string selectedFolder = selectedFolders[0];
}
}
当然,您需要添加对Microsoft.Office.Core (Microsoft Office14.0对象库)和Microsoft.Office.Interop.Excel (Microsoft Excel14.0对象库)的引用。
发布于 2014-02-09 02:49:47
我发现了一篇关于默认FolderBrowserDialog及其局限性的好文章:http://www.ssware.com/articles/folderbrowserdialog-unmasked-everything-you-wanted-to-know-about-the-folder-browser-component-from-dotnet-framework.htm
有一个第三方组件“外壳MegaPack”(http://www.ssware.com/megapack.htm)从ssware提供windows资源管理器一样的文件和文件夹浏览器控件的WinForms,ASP.net和WPF。
发布于 2018-03-04 02:33:42
如果你可以添加一个nuget包,Microsoft.WindowsAPICodePack.Shell有一个可以在“文件夹模式”下使用的CommonOpenFileDialog
,它应该与你想要的用途相匹配。
var directoryDialog = new CommonOpenFileDialog
{
IsFolderPicker = true,
Title = "Select Folder"
};
https://stackoverflow.com/questions/10990612
复制相似问题