He encontrado un comportamiento extraño cuando uso el diálogo de abrir archivo en C#.¿Por qué el directorio de trabajo actual cambia cuando se utiliza el cuadro de diálogo Abrir archivo en Windows XP?
Si utiliza este código en Windows XP
, el directorio de trabajo actual cambia a la ruta del archivo seleccionado; sin embargo, si ejecuta este código en Windows 7
, el directorio de trabajo actual no cambia.
private void button1_Click(object sender, EventArgs e)
{
MessageBox.Show(string.Format("Current Directory {0}",Directory.GetCurrentDirectory()), "My Application",MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
DialogResult result = openFileDialog1.ShowDialog(); // Show the dialog and get result.
if (result == DialogResult.OK)
{
}
MessageBox.Show(string.Format("Current Directory {0}", Directory.GetCurrentDirectory()), "My Application", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
}
¿Alguien conoce el motivo de este comportamiento? ¿Por qué el directorio actual cambia en XP y no en Windows 7
?
Gracias por su respuesta, realmente sabía cómo solucionar el problema. Solo quiero saber el motivo de este comportamiento. – RRUZ
@RRUZ, tengo curiosidad por mí mismo. Excavando a través del código en el reflector veo un método especial para Vista (HandleVistaFileOK). Mi sospecha es que este método es responsable, pero una vez más no responde la pregunta de por qué. – JaredPar