Вопрос

У меня есть программа, в которой я использую Windows form, в этой форме я использую OpenFileDialog, где я открываю файл в некотором каталоге.Затем я использую в другой функции StreamReader, и у меня есть 2-й файл в моем большом каталоге / debug, который я хочу, чтобы StreamReader открыл.Но по какой-то причине после того, как я открываю 1-й файл с помощью OpenFileDialog, StreamReader ищет 2-й файл в этом каталоге вместо этого в bin / debug, как обычно.

Кто-нибудь знает, почему он это делает и как я могу это решить?

Заранее благодарю,

Грег

Это было полезно?

Решение

Тот самый OpenFileDialog имеет такое поведение;это изменяет текущий каталог для приложения.Чтобы этого не произошло, вы можете использовать RestoreDirectory собственность компании OpenFileDialog.

Другие советы

Когда вы меняете каталог в диалоговом окне открытия файла, это также приводит к изменению рабочего каталога вашего приложения.Поэтому, если вы пытаетесь использовать относительные пути, они будут выглядеть не в том месте.

Решение Восстановить каталог.

Если вы не указываете полный путь к файлу, а только имя файла, это означает, что файл находится в текущем каталоге.Когда вы используете OpenFileDialog, он меняет текущий каталог.

Если вы хотите получить доступ к файлу где-либо независимо от того, какой текущий каталог установлен, вам необходимо указать полный путь к нему.Вы можете использовать Application.StartupPath чтобы получить путь к папке, в которой находится ваша программа.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top