我有以下代码将表单显示为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);
但仍有同样的问题。
答案 0 :(得分:1)
您粘贴的代码没有按照您的描述进行操作 - 在显示MessageBox时,另一个Dialog已经关闭 - 因此前面没有显示对话框。
粘贴您的实际代码或更好地提出您的问题。
答案 1 :(得分:0)
将Main()方法中的代码更改为最初创建的visual studio项目模板: -
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(oLogin);
然后,将try / catch块添加到任何类为oLogin
的FormClosing事件处理程序中答案 2 :(得分:-1)
尝试:
DialogResult oDialogResult = oLogin.ShowDialog(this);