我有一个很大的应用程序与几种形式,他们中的任何人都可以得到一个MessageBox
(MessageBox.Show()
)模态并锁定窗体。获取当前消息框
在激活另一个窗体时,我现在需要找到这个MessageBox
,并将此窗体的前面这个MessageBox
。有什么方法可以检查吗?
我知道Application.OpenForms
属性,也许有这样的MessageBox
?
编辑1:例如,假设我们打开Winform1,Winform1中的事件将转到打开Winform2的mainController。 Lateron Winform1得到了一个MessageBox.Show,但它完全可以将Winform2放在前面(在Winform1之上)。所以现在我需要对Winform.Activated做出反应来检查是否有任何MessageBox.Show,如果是,请将保存MessageBox的表单放在前面。
我很困惑。如果消息框是模态的并且打开,那么没有其他窗体应该打开或激活... –
@ MerlynMorgan-Graham:第一个锁定窗体当然不是从他的应用程序打开窗体的唯一方法。 – Otiel
@Otiel:除非背景中的某些内容弹出窗体,否则* all *窗体应该被锁定,因此无法弹出表单以响应用户。我认为这就是模态意味着什么 - 所有形式都被锁定。 –