C((zhi)FolderBrowserDialog類を使用してフォルダーを開く方法を選択することを実現します。
2770 ワード
1.C〓〓の中でFolderBrowserDialog類を使うと、選択したフォルダの機能を実現し、選択したフォルダパスを記録することができます。
(1)まず名前空間System.Windows.Formsを導入する。(2)そしてアプリケーションのメインエントランスポイント、つまりスタンtic void Main()メソッドに「STAThread」属性を追加します。
2.プログラムの入り口で、「STAThread」属性を追加する必要があります。もちろん、この属性を追加しなくてもいいですが、他のスレッドを開いて処理する必要があります。コードは以下の通りです。
(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;
}
}