MessageBox.Show 消息提示框显示到窗口最顶层

我们在做桌面应用的时候经常会遇到消息提示框已弹出,但由于操作其它应用而遮挡了提示框。

解决方案:

以WPF MessageBox.Show() 为例。

1 public static MessageBoxResult Show(string messageBoxText, string caption, MessageBoxButton button
2 , MessageBoxImage icon, MessageBoxResult defaultResult, MessageBoxOptions options)
3 {
4   return ShowCore(IntPtr.Zero, messageBoxText, caption, button, icon, defaultResult, options);
5 }

MessageBoxOptions

DefaultDesktopOnly 131072

消息框显示在交互式窗口站的默认桌面上。 指定消息框从 .NET Framework 窗口服务应用程序中显示,以便将事件通知用户。

None 0

未设置选项。

RightAlign 524288

消息框文本和标题栏标题靠右对齐。

RtlReading 1048576

所有文本、按钮、图标和标题栏都从右向左显示。

ServiceNotification 2097152

即使用户未登录到计算机,消息框也会在当前活动的桌面上显示。 指定消息框从 .NET Framework 窗口服务应用程序中显示,以便将事件通知用户。

根据参数选择DefaultDesktopOnlyServiceNotification都可以解决置顶的问题。

原文地址:https://www.cnblogs.com/DerekDeng/p/13645953.html