C#使用FolderBrowserDialog类实现选择打开文件夹方法详解

时间:2022-08-11 07:28:39 

1.在C#中使用FolderBrowserDialog类,就可以实现选择文件夹的功能,并将所选择的的文件夹路径记录下来。

(1).首先先引入命名空间System.Windows.Forms;
(2).然后在应用程序的主入口点,也就是static void Main()方法上面加上[STAThread]属性;


/// <summary>
        /// 应用程序的主入口点。
        /// </summary>
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new Form1());
        }

(3).然后定义我们的事件触发;


private void button1_Click(object sender, EventArgs e)
        {
            FolderBrowserDialog dilog = new FolderBrowserDialog();
            dilog.Description = "请选择文件夹";
            if(dilog.ShowDialog() == DialogResult.OK || dilog.ShowDialog() == DialogResult.Yes)
            {
                path=dilog.SelectedPath;
            }
        }


(4).打开刚才我们所选择的文件夹;


private void button2_Click(object sender, EventArgs e)
        {
            if (!string.IsNullOrEmpty(path))
            {
                System.Diagnostics.Process.Start("Explorer.exe", path);
            }
            else
            {
                MessageBox.Show("请选择路径");
            }
        }

以上就完成了,选择文件夹的功能。

2.需要注意的是在程序的入口点出,需要添加[STAThread]属性,当然也可以不添加这个属性,但是需要开启另外一个线程来处理。代码如下所示:


private void button1_Click(object sender, EventArgs e)
        {
            Thread newThread = new Thread(new ThreadStart(TEST));
            newThread.SetApartmentState(ApartmentState.STA);
            newThread.Start();
            //或
            //Thread app = new Thread(new ParameterizedThreadStart(TEST));//两个TEST方法不一样,委托类型不一样
            //app.ApartmentState = ApartmentState.STA;
            //app.Start();

        }

        private void TEST(object obj)
        {
            FolderBrowserDialog dilog = new FolderBrowserDialog();
            dilog.Description = "请选择文件夹";
            if(dilog.ShowDialog() == DialogResult.OK)
            {
                path=dilog.SelectedPath;
            }

        }
        private void TEST()
        {
            FolderBrowserDialog dilog = new FolderBrowserDialog();
            dilog.Description = "请选择文件夹";
            if (dilog.ShowDialog() == DialogResult.OK)
            {
                path = dilog.SelectedPath;
            }
        }

标签:C#,打开文件夹,FolderBrowserDialog类
0
投稿

猜你喜欢

  • Java 蒙特卡洛算法求圆周率近似值实例详解

    2023-10-19 23:32:10
  • java中fork-join的原理解析

    2023-12-13 08:49:16
  • 二叉搜索树实例练习

    2022-09-20 22:03:06
  • Json传输出现中文乱码问题的解决办法

    2022-06-23 06:38:04
  • SpringBoot项目实战之加载和读取资源文件

    2023-10-07 06:00:41
  • Java实现聊天机器人完善版

    2022-10-07 09:31:11
  • SpringBoot部署在tomcat容器中运行的部署方法

    2023-08-04 13:02:28
  • C# 输出参数out问题

    2023-02-27 00:19:32
  • JAVA swing布局管理器实例解析

    2022-01-11 05:05:15
  • Android编程实现震动与振铃的方法详解

    2022-01-28 19:44:23
  • Android 捕获运行时异常详解

    2023-12-22 21:16:30
  • 深入理解Java设计模式之装饰模式

    2021-11-23 11:29:52
  • Android SDK命令行工具Monkey参数及使用解析

    2023-07-13 17:00:33
  • 关于C#反射 你需要知道的

    2022-01-10 04:33:19
  • java并发编程专题(四)----浅谈(JUC)Lock锁

    2021-11-30 00:20:23
  • C#图像处理之头发检测的方法

    2023-11-08 22:10:28
  • C#中通过API实现的打印类 实例代码

    2021-10-19 15:55:52
  • 关于C#转换二进制所引起的一些思考

    2021-06-02 18:31:22
  • springboot 高版本后继续使用log4j的完美解决方法

    2021-12-06 11:12:41
  • C语言中数据是如何存储在内存中的

    2021-07-03 02:13:34
  • asp之家 软件编程 m.aspxhome.com