首页 > 解决方案 > Noob 与 C# 文件夹选择对话框

问题描述

我是 StackOverflow 和 C# 的新手。我不是软件开发者!快速背景,我接受过研究科学家的培训,在生物技术领域工作了多年,并且我用多种语言编写了代码来完成工作。C# 是我的第一个“真正的”现代编程语言。简而言之,我不是“入”人群中的一员。然而。

学习新东西做基本练习,和往常一样,基本的东西让我卡住了。我正在创建一个简单的表单(winforms),单击以选择一个文件夹。也许我会将文件夹名称写入文本框以确保它有效。

我不喜欢 FolderBrowserDialog,所以我下载了 WindowsAPICodePack-Core 并安装了它。这是我的代码不起作用。

using System;
using System.ComponentModel;
using System.Windows.Forms;
using Microsoft.WindowsAPICodePack.Dialogs;

namespace getDirOpenFile
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void chooseFolder_button_Click(object sender, EventArgs e)
        {
            {
                var dialog = new CommonOpenFileDialog();
                dialog.IsFolderPicker = true;
                if (dialog.ShowDialog() == CommonFileDialogResult.Ok)
                {
                    // stuff
                }
            }
        }

        private void openFileDialog1_FileOk(object sender, CancelEventArgs e)
        {

        }        
    }
}

Visual Studio 说:错误 CS0246 找不到类型或命名空间名称“CommonOpenFileDialog”(您是否缺少 using 指令或程序集引用?)

NuGet 说软件包已安装。旁注:“Microsoft.WindowsAPICodePack.Dialogs;”的“使用”语句 没有必要时显示为灰色。我错过了什么?

谢谢大家,阿拉姆

标签: c#io

解决方案


那是因为CommonOpenFileDialog不属于您引用的程序集。

您应该安装WindowsAPICodePack-Shell软件包,然后添加到您的文件中:

using Microsoft.WindowsAPICodePack.Shell;

你应该能够运行你的代码。


推荐阅读