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

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

C#使⽤FolderBrowserDialog类实现选择打开⽂件夹⽅法
详解
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;
}
}。

相关文档
最新文档