OK, j'ai donc une openfiledialog et je souhaite définir le répertoire initial sur le dossier "Télécharger" des utilisateurs. Ceci est une application interne et, par conséquent, je suis sûr que l'utilisateur utilisera Windows 7.
var ofd = new OpenFileDialog(); //This doesn't work ofd.InitialDirectory = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Personal), "Downloads"); //This doesn't work either ofd.InitialDirectory = @"%USERPROFILE%\Downloads"; ofd.Filter = "Zip Files|*.zip"; ofd.ShowDialog(); txtFooBar.Text = ofd.FileName;
4 Réponses :
Peut-être que cela pourrait aider: https://stackoverflow.com/a/1175250/333404
fonctionne pour moi:
https://stackoverflow.com/a/3795159/333404 p>
HMM, autre travail du répertoire OK, par exemple, Environnement.GetFolderDePath (Environnement.Specialfolder.personal) fonctionne bien, mais lorsque j'essaie d'aller un pas plus loin, le répertoire initial revient simplement à la racine de mon lecteur C.
Essayez ceci
Les téléchargements malchanceux le Veuillez noter que vous pouvez utiliser la signature P / invoke que vous préférez (quelqu'un utilise un StressBuilder, une autre personne d'une entreprise. . em> p> p> Specialfolder Code> L'énumération ne contient pas de chaque dossier connu, vous devez donc utiliser un peu d'interopt, voir MSDN . De cette page, nous pouvons trouver le Liste complète des dossiers connus , ce que vous recherchez est folderid_downloads strong>, parce que le shgekknowDederPath Fonction nécessite un GUID que vous devez déclarer quelque part qui constante. Votre code sera alors quelque chose comme ceci: p>
J'ai pu utiliser l'environnement pour appeler directement mais je devais ajouter tostring () code> à la fin. Cela n'a pas fonctionné tant que je l'ai ajouté.
saveFileDialog1.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
Au lieu de rejeter les modifications à mon commentaire, je dirai que lorsque j'ai posté cette initiative à l'origine en 2015, mon compilateur a été obligé de nous faire pression () pour que cette fonction fonctionne. À VS2019, cela fonctionne très bien. C'était mon expérience et c'est pourquoi j'ai posté ce commentaire.
Dupliqué possible de Dossier Téléchargements: Pas assez spécial?
Toutes mes excuses, cela a parfaitement travaillé pour moi. Merci Hans.