我們選擇檔案可以用 OpenFileDialog ,但是檔案夾有兩種方法。
法一:
用C#的FolderNameEditor類的子類FolderBrowser類來實現擷取瀏覽檔案夾對話方塊的功能。下面來看看具體是怎麼實現的。
首先建立一個winform的項目,再建立一個類檔案(File->AddNewItem->Class)。 因為FolderNameEditor是在System.Windows.Forms.Design命名空間下的,此命名空間位於動態連結程式庫system.design.dll,所以我們要先在解決方案中添加新的引用(reference)System.Design。然後在代碼中添加:
using System.Windows.Forms.Design;
接著,我們建立一個FolderDialog類,此類從FolderNameEditor類繼承,在此類中建立一個FolderBrowser類的執行個體。DisplayDialog(string description)函數用於設定執行個體fDialog的屬性,並且顯示瀏覽檔案夾對話方塊。為了取得檔案夾的路徑,設定一個Path屬性,返回選取檔案夾的路徑。
:
C#語言: FolderDialog01 using System;
02 using System.Collections.Generic;
03 using System.Linq;
04 using System.Text;
05 using System.Windows.Forms.Design;
06 using System.Windows.Forms;
07
08 namespace lnk
09 {
10 class FolderDialog : FolderNameEditor
11 {
12 FolderBrowser fDialog = new FolderBrowser();
13 public FolderDialog()
14 {
15 }
16 public DialogResult DisplayDialog()
17 {
18 return DisplayDialog("確定你的檔案夾路徑!!");
19 }
20 public DialogResult DisplayDialog(string description)
21 {
22 fDialog.Description = description;
23 return fDialog.ShowDialog();
24 }
25 public string Path
26 {
27 get
28 {
29 return fDialog.DirectoryPath;
30 }
31 }
32 ~FolderDialog()
33 {
34 fDialog.Dispose();
35 }
36
37 }
38 }
法二:
工具列裡面有一個FolderBrowserDialog控制項,在winform中添加FolderBrowserDialog控制項。然後在添加一個按鈕。和一個label標籤。
雙擊按鈕添加代碼
FolderBrowserDialog.ShowDialog();
label1.Text = BrowserDialog.SelectedPath;
然後運行!
此時點擊按鈕。就會彈出對話方塊。提示使用者選擇檔案夾。選好後確定。使用者選的地址就顯示在了label中了!
參考代碼:
private void button1_Click(object sender, EventArgs e)
{
FolderBrowserDialog folderBrowserDialog1 = new FolderBrowserDialog();
folderBrowserDialog1.Description = "請選擇儲存輸出圖件的檔案夾";
folderBrowserDialog1.ShowNewFolderButton = true;
folderBrowserDialog1.RootFolder = Environment.SpecialFolder.Personal;
DialogResult result = folderBrowserDialog1.ShowDialog();
if (result == DialogResult.OK)
{
string folderName = folderBrowserDialog1.SelectedPath;
if (folderName!="")
{
textBox1.Text = folderName;
}
}
}