用C#擷取瀏覽檔案夾對話方塊

來源:互聯網
上載者:User
對話方塊 我們知道,C#裡面有選擇檔案的對話方塊控制項,卻沒有選擇檔案夾的對話方塊控制項,不少人為了選擇一個檔案夾只好自己用TreeView類來處理,其實在C#裡面完全不用那麼麻煩,我們可以用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屬性,返回選取檔案夾的路徑。

  代碼如下:
public class FolderDialog : FolderNameEditor { FolderNameEditor.FolderBrowser fDialog = new System.Windows.Forms.Design.FolderNameEditor.FolderBrowser(); public FolderDialog() { } public DialogResult DisplayDialog() { return DisplayDialog("請選擇一個檔案夾"); } public DialogResult DisplayDialog(string description) { fDialog.Description = description; return fDialog.ShowDialog(); } public string Path { get { return fDialog.DirectoryPath; } } ~FolderDialog() { fDialog.Dispose(); } }


  利用這個建立的類,就可以顯示瀏覽檔案夾對話方塊。

  在Form1中添加一個TextBox控制項,在Form1的建構函式裡添加下面代碼:
FolderDialog openFolder = new FolderDialog(); if (openFolder.DisplayDialog()==DialogResult.OK) textBox1.Text=openFolder.Path.ToString(); else textBox1.Text="你沒有選擇目錄";


  運行這個工程,就會彈出如下的瀏覽檔案夾對話方塊,是不是和Windows內建的一摸一樣?



  點擊確定之後會顯示你選擇的檔案夾的路徑,點擊取消則顯示你沒有選擇目錄。

相關文章

Beyond APAC's No.1 Cloud

19.6% IaaS Market Share in Asia Pacific - Gartner IT Service report, 2018

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

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

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