【发布时间】:2015-01-25 01:10:27
【问题描述】:
我正在使用 ShowDialog(在 System.Windows.Window 上)向用户显示确认样式的对话框窗口。我从系统托盘菜单选项执行此操作。我的问题是它的发射本身隐藏在 Windows 下。如果我使用 TopMost 就可以引起用户的注意,但使用 TopMost 在其他方面过于侵入。我不想强制对话框始终位于其他窗口之上。
在调用 ShowDialog 之前,我尝试了各种选项,例如 Focus、Activate、BringIntoView,以尝试将对话框引起用户的注意,但无济于事。除了使用 TopMost,我还有其他选择吗?我确实想保留对话框的模态行为。
【问题讨论】:
-
您可以使用 setwindowpos 并指定 Z 顺序...您想要完成的究竟是什么?
-
启动时我希望对话框出现在所有其他窗口之上。如果他们在对话窗口上带来另一个窗口(例如他们的前景),那么它应该在那个窗口后面
-
好的,设置 TopMost 有什么问题?只需将其设置为 true,然后设置为 false。
-
正如我所说的那样,它太具有侵入性了,因为您无法在其上移动任何其他窗口。我在我现在要提供的答案中找到了答案。还是谢谢
-
请将您的解决方案发布为您自己问题的答案。这样未来的读者就可以从这篇文章中受益。
标签: c# wpf winforms dialog modal-dialog