首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >FolderBrowserDialog的变更设计

FolderBrowserDialog的变更设计
EN

Stack Overflow用户
提问于 2020-08-07 13:50:49
回答 1查看 1.8K关注 0票数 1

我正在使用FolderBrowserDialog从Windows打开一个对话框,以便用户可以选择一个自定义文件夹。不幸的是,FolderBrowserDialog有一些arhaic设计,使用户无法选择粘贴路径。目前看来与此类似:

我想要的是一个粘贴路径的选项:

这是我目前的代码:

代码语言:javascript
复制
using (var dialog = new System.Windows.Forms.FolderBrowserDialog()) {
   string path = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
   dialog.SelectedPath = Global.DestinationFolder;
   System.Windows.Forms.DialogResult result = dialog.ShowDialog();
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-08-07 14:10:11

您不能像这样自定义来自Windows的FolderBrowserDialog。曾经有一个包含WindowsAPICodePackCommonOpenFileDialog,它有一个文件夹选择选项,可以准确地显示您想要的对话框,但是它已经不可用了。您仍然可以通过非官方的WindowsAPICodePack-Shell NuGet包使用它。

代码语言:javascript
复制
var folderBrowser = new CommonOpenFileDialog { IsFolderPicker = true }

另一种选择是迁移到.NET核心>= 3.0,在那里,Windows 已现代化中的FolderBrowserDialog。您需要将Windows窗体添加到WPF项目中,才能访问它。

代码语言:javascript
复制
<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop">
  <PropertyGroup>
    <OutputType>WinExe</OutputType>
    <TargetFramework>netcoreapp3.0</TargetFramework>
    <UseWPF>true</UseWPF>
    <UseWindowsForms>true</UseWindowsForms>
  </PropertyGroup>
</Project>

最后,如果没有其他选择,则可以使用本机代码创建IFileOpenDialog,并将其选项设置为只选择文件夹。您可以找到有关它的一般信息,这里

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63303215

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档