我有以下代碼,它顯示窗體爲ShowDialog()。MessageBox.Show()不顯示頂部的ShowDialog窗體
static void Main()
{
DialogResult oDialogResult = oLogin.ShowDialog();
if (oDialogResult == DialogResult.OK)
{
try
{
//do something here
}
catch (Exception Ex)
{
MessageBox.Show(Ex.Message, "IMPORTANT MESSAGE", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
}
的問題是該呼叫MessageBox.Show沒有出現在的前方(頂部)已經示出oLogin.ShowDialog()形式的消息框。你知道爲什麼嗎 ?
我試着改變MessageBox.Show以包含所有者窗體,如下所示;
MessageBox.Show(oLogin, Ex.Message, "IMPORTANT MESSAGE", MessageBoxButtons.OK, MessageBoxIcon.Error);
但仍然有同樣的問題。
有點明顯。您可以讓oLogin在分配DialogResult屬性之前觸發一個事件。類型爲CancelEventHandler的事件將是合乎邏輯的選擇,因此您也可以停止關閉對話框。與OpenFileDialog.FileOk事件進行比較。 –