C((zhi)FolderBrowserDialog類を使用してフォルダーを開く方法を選択することを実現します。


1.C〓〓の中でFolderBrowserDialog類を使うと、選択したフォルダの機能を実現し、選択したフォルダパスを記録することができます。
(1)まず名前空間System.Windows.Formsを導入する。(2)そしてアプリケーションのメインエントランスポイント、つまりスタンtic 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;
            }
        }