即使稍后使用ShowDialog调用新窗口,如何始终将警报窗口显示在顶部

时间:2013-12-18 22:37:24

标签: wpf winforms

在我的应用程序中,我有几个使用ShowDialog显示的窗口,但是我们正在尝试实现一个警报窗口,如果警报窗口被提升,我们希望它始终在顶部,即使之后引发了ShowDialog窗口。

我已将“警报”窗口的TopMost和TopLevel属性设置为“true”,但如果稍后出现ShowDialog窗口,则会注意到即使“警报”窗口位于顶部,也无法单击,而ShowDialog窗口位于后面,它是可点击的,只有在关闭它之后才能访问警报窗口。

关于如何实现这一目标的任何想法?

1 个答案:

答案 0 :(得分:0)

ShowDialog创建一个模态对话框。这意味着必须先关闭对话框,然后才能与主应用程序进行交互(这是由windows强制执行的)。

您需要使用无模式对话框(使用Show而不是ShowDialog来实现此目的),或者如@rheitzman建议的那样,将警报设置为不同的应用程序,以便模式对话框规则不再适用。