122 votes

Définir l'emplacement de démarrage de la boîte de dialogue du navigateur de dossiers

Est-il possible de définir le répertoire initial d'un dossier de dialogue du navigateur à un non-dossier spécial? C'est ce que j'utilise actuellement

fdbLocation.RootFolder = Environment.SpecialFolder.Desktop;

mais je veux utiliser un chemin que j'ai stocké dans une chaîne à quelque chose comme ceci

fdbLocation.RootFolder = myFolder;

Cela provoque une erreur "Impossible de convertir de 'chaîne' de 'Système.De l'environnement.SpecialFolder'".

206voto

great_llama Points 5836

Il suffit de régler le SelectedPath de la propriété avant d'appeler ShowDialog.

fdbLocation.SelectedPath = myFolder;

35voto

JP Alioto Points 33482

Définir la SelectedPath de la propriété avant de vous appeler ShowDialog ...

folderBrowserDialog1.SelectedPath = @"c:\temp\";
folderBrowserDialog1.ShowDialog();

Va commencer à C:\Temp

28voto

Chad Grant Points 16571
fldrDialog.SelectedPath = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory)

"Si le SelectedPath propriété est définie avant d'afficher la boîte de dialogue, le dossier avec ce chemin sera le dossier sélectionné, aussi longtemps que SelectedPath est fixé à un chemin absolu qui est un sous-dossier de RootFolder (ou, plus précisément, les points d'un sous-dossier de l'espace de noms environnement représenté par RootFolder)."

MSDN - SelectedPath

"La GetFolderPath méthode retourne les emplacements associés à cette énumération. Les emplacements de ces dossiers peuvent avoir des valeurs différentes sur différents systèmes d'exploitation, l'utilisateur peut modifier certains endroits, et les emplacements sont localisées."

Re: Bureau vs DesktopDirectory

Bureau

"La logique de Bureau plutôt que de la physique de l'emplacement du système de fichiers."

DesktopDirectory:

"Le répertoire utilisé pour la physiquement fichier de stockage des objets sur le bureau. Faire ne pas confondre ce répertoire avec le dossier sur le bureau lui-même, qui est un dossier virtuel."

MSDN - Dossier Spécial Enum

MSDN - GetFolderPath

9voto

Jim Lahman Points 826

Pour définir le répertoire sélectionné chemin d'accès et le récupérer le nouveau répertoire:

dlgBrowseForLogDirectory.SelectedPath = m_LogDirectory;
if (dlgBrowseForLogDirectory.ShowDialog() == DialogResult.OK)
{
     txtLogDirectory.Text = dlgBrowseForLogDirectory.SelectedPath;
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X