Tôi đã tìm thấy một hành vi lạ khi sử dụng hộp thoại mở tập tin trong C#.Tại sao thư mục làm việc hiện tại thay đổi khi sử dụng hộp thoại Mở tệp trong Windows XP?
Nếu sử dụng mã này trong Windows XP
thư mục làm việc hiện tại thay đổi thành đường dẫn của tệp đã chọn, tuy nhiên nếu bạn chạy mã này trong Windows 7
thư mục làm việc hiện tại không thay đổi.
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);
}
Bất kỳ ai biết lý do của hành vi này? Tại sao thư mục hiện tại thay đổi trong XP chứ không phải trong Windows 7
?
Cảm ơn bạn đã trả lời tôi thực sự biết cách khắc phục sự cố. tôi chỉ muốn biết lý do cho hành vi này. – RRUZ
@RRUZ, tôi rất tò mò. Đào qua mã trong phản xạ tôi thấy một phương pháp đặc biệt cho Vista (HandleVistaFileOK). Nghi ngờ của tôi là phương pháp này có trách nhiệm nhưng một lần nữa nó không thực sự trả lời câu hỏi tại sao. – JaredPar