2008-09-17 4 views

Répondre

4

Eh bien j'utilise VS 2008 SP1. Tout cela je besoin:

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

Nice !!! M'a aidé –

10

Il existe une classe FolderBrowserDialog que vous pouvez utiliser si vous souhaitez que l'utilisateur sélectionne un dossier.

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(); 
} 

Si tout ce que vous voulez est d'obtenir le direcotory d'un chemin complet, vous pouvez le faire:

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

Ceci règlera le texte-propriété à « c: \ windows \ temp \ "

+1

homme Oh, je pensais que c'était un bon solution jusqu'à ce que j'ai réalisé quel dialogue cela montre - je déteste ce dialogue! [http://i.imgur.com/2uGPK.png](http://i.imgur.com/2uGPK.png) – Pat

0

Si vous ne voulez pas un dialogue terrible amical non-utilisateur *, essayez Ookii.Dialogs ou voir d'autres réponses à How do you configure an OpenFileDialog to select folders?. Le seul inconvénient que je vois à Ookii est qu'il nécessite .NET 4 Full, pas seulement le profil client. Mais la source est incluse dans le téléchargement, donc je vais travailler dessus. Dommage que la licence n'est pas LGPL ou similaire ...

Voir aussi: WinForms message box with textual buttons

* C'est ce que FolderBrowserDialog ressemble:

Ugly, unfriendly folder browser dialog