C# WINFORM 編程中,選擇**檔案夾**而不是檔案的方法

來源:互聯網
上載者:User

    我們選擇檔案可以用 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;
                }
            }

}

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.