Pregunta

Tengo un programa en el que estoy usando Windows Form, en esa forma yo uso OpenFileDialog donde abro un archivo en algún directorio. Entonces utilizar en una función diferente de un StreamReader y tengo un segundo archivo en mi directorio grande / Depuración, quiero que el StreamReader para abrir. Pero por alguna razón después de que abra la primera archivo con el OpenFileDialog el StreamReader busca el segundo archivo en ese directorio en bin / debug como de costumbre.

¿alguien sabe por qué hace eso y cómo puedo solucionarlo?

Gracias de antemano,

Greg

¿Fue útil?

Solución

El OpenFileDialog tiene ese comportamiento; se altera el directorio actual para la aplicación. Para evitar que esto suceda, se puede utilizar el RestoreDirectory propiedad del OpenFileDialog.

Otros consejos

Cuando se cambia de directorio en un archivo de diálogo abierto, esto también hace que el directorio de trabajo de su solicitud de cambio. Así que si usted está tratando de utilizar rutas relativas, que se verá en el lugar equivocado.

La solución es RestoreDirectory .

Si no se especifica una ruta completa del archivo, pero sólo un nombre de archivo, lo que significa que el archivo está en el directorio actual. Cuando se utiliza la OpenFileDialog, cambia el directorio actual.

Si desea acceder a un archivo en algún lugar independientemente de lo que el directorio actual se establece, hay que especificar una ruta completa para ella. Puede utilizar Application.StartupPath para obtener la ruta a la carpeta donde el programa es.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top