我需要顯示一個文件夾對話框,以便用戶可以在我的應用程序運行之前選擇一個路徑。我有一切工作正常,但我似乎無法保持在前臺的錯誤MessageBox。如果用戶選擇了錯誤的路徑,會彈出一個消息框,但它將保留在桌面上任何打開的窗口後面的背景中。我可以指定fdb.ShowDialog(this),它會保持錯誤消息框的前景。我是新來的WPF,與此應用程序的Winforms版本,我可以指定fdb.ShowDialog(this),它會保持錯誤消息框在前臺。但對於WPF,消息框窗口始終保持在所有其他打開的窗口後面。如何在WPF的前臺保留一個MessageBox窗口
關於如何解決這個問題的任何想法?謝謝。
while (!found)
{
if (fbd.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
if ((File.Exists(Path.Combine(fbd.SelectedPath, "user.exe"))))
return fbd.SelectedPath;
else
System.Windows.Forms.MessageBox.Show("Cannot find user.exe in the selected path! Please try again.", "File Error", System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Error);
}
}
你把上面的代碼放在Window/UserControl的構造函數中嗎? –
@ RV1987不在構造函數中,它是從主窗口構造函數調用的方法「GetUserPath()」的一部分。我測試了構造函數中的所有代碼,但MessageBox行爲沒有任何變化。 –
是的,這是因爲你是從構造函數調用代碼,直到沒有創建時間窗口。一旦代碼通過您的構造函數,窗口就會被加載。 –