VB.Net MessageBox.Show()将我的表单移动到后面
-
03-07-2019 - |
题
我有一个MDI应用程序。当我使用MessageBox.Show()显示一个消息框时,当我关闭消息框时,整个应用程序将在我打开的所有窗口后面消失。
代码没有做任何特别的事情。实际上,这是从MDI子窗体中调用消息框的行:
MessageBox.Show(String.Format("{0} saved successfully.", Me.BusinessUnitTypeName), "Save Successful", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1, MessageBoxOptions.DefaultDesktopOnly)
Me.BusinessUnitTypeName()是一个只读属性getter,它返回一个字符串,具体取决于成员变量的值。这个属性没有副作用。
有什么想法吗?
其他提示
删除 MessageBoxOptions.DefaultDesktopOnly
参数,它将正常工作。
DefaultDesktopOnly
指定“消息框显示在活动桌面上”导致焦点丢失。
这些答案是正确的,但我想补充一点。我在使用别人的代码时遇到了这个问题。一个简单的消息框导致最前面的窗口移动到后面:
MessageBox.Show(QUOT;你好&QUOT)。
原来,在MessageBox之前有一个BindingSource.Endedit命令。 BindingSource尚未连接到任何控件,但它导致窗口更改z位置。
我只包括这个说明,因为我的搜索带给我这个问题,我认为这可能对其他人有所帮助。
不隶属于 StackOverflow