.NET 5.0 打开选择文件夹对话框

3

我遇到了一个新的.NET 5.0应用程序问题。 我想打开一个选择文件夹对话框,但我没有找到相应的类。 所有我找到的代码都引用了System.Windows.Forms库。

using (var dialog = new System.Windows.Forms.FolderBrowserDialog())
{
    System.Windows.Forms.DialogResult result = dialog.ShowDialog();
}

什么是新的方式?

2
为什么会有一种新的方式? - Franck
1
@Franck 因为有一种新的方式。Windows 7引入了全新的对话框,人们一直在尝试使用它们。即使在.NET Core 5之前,例如TaskDialog,在Windows Forms中也没有直接支持,因为微软试图推动人们使用UWP却失败了。现在这些类正在被添加,因为Windows Forms和WPF都是开源的。 - Panagiotis Kanavos
@PanagiotisKanavos 很有趣。以前从未听说过。可能宣传不够。 - Franck
虽然这被标记为重复,但它涉及到使用FolderBrowser而不包括Windows.System.Forms,所以答案可能是相同的,但问题是不同的。 - Vishesh Mangla
1个回答

17

我没有意识到需要编辑.csproj文件,也不知道在那里可以同时声明WPF和Windows Forms。我一直认为需要将其添加为引用。

以这种方式修改项目文件可以正常工作,并允许我声明 using System.Windows.Forms;而不会出错。

  <PropertyGroup>
    <OutputType>WinExe</OutputType>
    <TargetFramework>net5.0-windows</TargetFramework>
    <RootNamespace>WpfApp1_5</RootNamespace>
    <UseWPF>true</UseWPF>
    <UseWindowsForms>true</UseWindowsForms>
  </PropertyGroup>

你应该查看在.NET 5中有哪些对话框可用 - TaskDialog在.NET 5中被添加,经过11年的等待。如果其他"新"对话框开始出现,或者WPF版本也出现,我不会感到惊讶。 - Panagiotis Kanavos

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接