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自帶的一摸一樣?
點擊確定之后會顯示你選擇的文件夾的路徑,點擊取消則顯示你沒有選擇目錄。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
