2008-09-17 2 views

ответ

4

Ну, я использую VS 2008 SP1. Это все, что мне нужно:

private void button1_Click(object sender, EventArgs e) 
{ 
    FolderBrowserDialog profilePath = new FolderBrowserDialog(); 

    if (profilePath.ShowDialog() == DialogResult.OK)   
    { 
     profilePathTextBox.Text = profilePath.SelectedPath; 
    } 
    else 
    { 
     profilePathTextBox.Text = "Please Specify The Profile Path"; 
    } 
} 
+0

Ницца !!! Помог мне поблагодарить – 2012-06-28 05:32:34

10

Существует класс FolderBrowserDialog, который вы можете использовать, если хотите, чтобы пользователь выбрал папку.

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

DialogResult result = folderBrowserDialog1.ShowDialog(); 
if (result.Equals(get_DialogResult().OK)) { 
    textbox1.Text = folderBrowserDialog1.get_SelectedPath(); 
} 

Если все, что вы хотите, чтобы получить direcotory от полного пути, вы можете сделать это:

textbox1.Text = Path.GetDirectoryName(@"c:\windows\temp\myfile.txt"); 

Это позволит установить Text-свойство «C: \ windows \ temp \ "

+1

О человеке, я думал, что это был хороший до тех пор, пока я не понял, какой диалог это показывает - я НЕНАВИЖУ этот диалог! [http://i.imgur.com/2uGPK.png](http://i.imgur.com/2uGPK.png) – Pat 2011-06-07 21:36:26

0

Если вы не хотите, ужасный, не пользовательский дружественный диалог *, попробуйте Ookii.Dialogs или посмотреть другие ответы на How do you configure an OpenFileDialog to select folders?. Единственный недостаток, который я вижу в Ookii, заключается в том, что для этого требуется .NET 4 Full, а не только профиль клиента. Но источник включен в загрузку, поэтому я буду работать над этим. Жаль, что лицензия не LGPL или подобное ...

Смотрите также: WinForms message box with textual buttons

* Это то, что FolderBrowserDialog выглядит следующим образом:

Ugly, unfriendly folder browser dialog

Смежные вопросы