Pergunta

Eu tenho um programa onde eu estou usando Windows Form, dessa forma eu uso OpenFileDialog onde eu abrir um arquivo em algum diretório. Então eu uso em uma função diferente um StreamReader e eu tenho um segundo arquivo no meu diretório grande / debug que eu quero o StreamReader para abrir. Mas por alguma razão depois de eu abrir o arquivo primeiro com o OpenFileDialog os olhares StreamReader para o segundo arquivo nesse diretório em vez de bin / debug como de costume.

Alguém sabe por que ele faz isso e como posso resolver isso?

Agradecemos antecipadamente,

Greg

Foi útil?

Solução

O OpenFileDialog tem esse comportamento; ele altera o diretório atual para o aplicativo. Para evitar que isso aconteça, você pode usar o RestoreDirectory propriedade do OpenFileDialog.

Outras dicas

Quando você mudar o diretório em um diálogo de arquivo aberto, isso também faz com que o diretório de trabalho do aplicativo para a mudança. Então, se você está tentando usar caminhos relativos, ele irá procurar no lugar errado.

A solução é RestoreDirectory .

Se você não especificar um caminho de arquivo completo, mas apenas um nome de arquivo, o que significa que o arquivo está no diretório atual. Quando você usa a OpenFileDialog, ele altera o diretório atual.

Se você quiser acessar um arquivo em algum lugar, independentemente do que o diretório atual está definido para, você tem que especificar um caminho completo para ele. Você pode usar Application.StartupPath para obter o caminho para a pasta onde o programa é.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top