2013-03-16 35 views
2

我想在Visual Studio中使用WPF在C#中使用此程序。這基本上是它必須做的。瀏覽到一個目錄,並將路徑存儲在一個字符串(C#)

當在主窗體上單擊名爲「瀏覽」的按鈕時,它會打開一個新窗體/窗口,讓用戶瀏覽到他選擇的任何目錄。在他選擇文件夾並點擊「打開」(或該窗體上的其他按鈕)後,該目錄的路徑(例如「C:\ temp」)將存儲在一個字符串變量中,以便稍後使用。

我的第一個問題是,我在「瀏覽」按鈕的偶處理程序中編寫了什麼,它會打開一個讓用戶瀏覽並選擇文件夾的窗口?是否有我可以使用的默認窗口,或者是否必須爲它創建新窗體?請注意,用戶必須選擇一個文件夾,而不是像默認的「打開」窗口那樣的文件。

其次,我該如何引用一個字符串變量,以便它存儲用戶選擇的目錄路徑?

回答

4

你正在尋找的類型是OpenFileDialog

http://msdn.microsoft.com/en-us/library/system.windows.forms.openfiledialog.aspx

的基本用法如下

using (FileDialog fileDialog = new OpenFileDialog()) { 
    if (DialogResult.Ok == fileDialog.ShowDialog()) { 
    string fileName = fileDialog.FileName; 
    ... 
    } 
} 

編輯

評論澄清OP正在尋找打開一個目錄與一個文件。爲此,您需要FolderBrowseDialog

var dialog = new System.Windows.Forms.FolderBrowserDialog(); 
System.Windows.Forms.DialogResult result = dialog.ShowDialog(); 
+0

中,用戶必須選擇文件否?我希望用戶能夠選擇一個文件夾而不是特定的文件。 – 2013-03-16 02:29:20

+0

@SteveWay這允許目錄以及 – JaredPar 2013-03-16 02:32:08

+0

也有一個FolderBrowser。 – IAbstract 2013-03-16 02:37:58

1

對於選擇目錄,你應該使用FolderBrowserDialog。這是來自WinForms的控件。 WPF沒有它自己的。

例如:

var dialog = new FolderBrowserDialog(); 
var result = dialog.ShowDialog(); 
if (result == DialogResult.OK) 
    // ... 

不要忘記添加參考System.Windows.Forms

+0

我怎樣才能做到這一點與WPF,因爲我這樣做在大學的任務,並且要求是我使用WPF? – 2013-03-16 02:45:01

+0

WPF沒有它自己的對話框來選擇文件夾(在哪裏可以看到目錄樹)。您只能從WinForms中使用此類對話框(需要包含對System.Windows.Forms的引用)。我已經在答案中描述了這一點。 – 2013-03-16 02:51:29

1

簡單地做這個按鈕點擊

 FileDialog fileDialog = new OpenFileDialog(); 
     fileDialog.ShowDialog(); 
     folderpathTB.Text = fileDialog.FileName; 

(folderpathTB是文本框的名字,我瓦納把文件路徑,或U可以將其分配給一個字符串變量太)這一個

相關問題