Question

J'ai un programme où je suis en utilisant le formulaire de fenêtres, sous cette forme que j'utilise OpenFileDialog où ouvrir un fichier dans un répertoire. Puis-je utiliser dans une autre fonction d'un StreamReader et j'ai un 2ème fichier dans mon répertoire grand / debug que je veux StreamReader pour ouvrir. Mais pour une raison quelconque après l'avoir ouvert le 1er fichier avec le OpenFileDialog StreamReader recherche le 2ème fichier dans ce répertoire à la place dans bin / debug comme d'habitude.

Est-ce que quelqu'un sait pourquoi il fait cela et comment puis-je résoudre?

Merci à l'avance,

Greg

Était-ce utile?

La solution

Le OpenFileDialog a ce comportement; il modifie le répertoire courant de l'application. Pour éviter cela, vous pouvez utiliser le RestoreDirectory propriété du OpenFileDialog.

Autres conseils

Lorsque vous modifiez le répertoire dans une boîte de dialogue de fichier ouvert, cela provoque aussi le répertoire de travail de votre demande de changement. Donc, si vous essayez d'utiliser des chemins relatifs, il regardera dans le mauvais endroit.

La solution est RestoreDirectory .

Si vous ne spécifiez pas un chemin de fichier complet, mais seulement un nom de fichier, cela signifie que le fichier est dans le répertoire courant. Lorsque vous utilisez le OpenFileDialog, il change le répertoire courant.

Si vous souhaitez accéder à un fichier quelque part, peu importe ce que le répertoire en cours est réglé sur, vous devez spécifier un chemin complet pour elle. Vous pouvez utiliser Application.StartupPath pour obtenir le chemin d'accès au dossier dans lequel votre programme est.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top