2017-02-15 82 views
0

在我们的一个Windows应用程序中,使用MessageBox.Show启动了一个对话框,该对话框在win 7和8上运行良好。但在Win 10上,弹出窗口是显示在启动器下方。任何猜测如何纠正这一点?Modal对话框显示在Windows 10的启动屏幕下方

感谢

+1

请您澄清一下您的问题吗?你能显示一些代码吗?你的意思是用_launcher_启动屏幕?你使用的是什么UI框架('WPF','WinForms'或其他不同的东西)?没有进一步的细节,你的问题不能得到回答... – ventiseis

+0

抱歉,该表格是从另一个我无法访问的库启动的。然而,我在实际的形式上工作.. – Gulumal

回答

1

使用MessageBox.Show过载,使您可以具体父窗口: https://msdn.microsoft.com/en-us/library/cked7698(v=vs.110).aspx

如果您正在使用WPF/UWP,你可以写这样的事情:

Application.Current.Dispatcher.Invoke(DispatcherPriority.Normal, 
    () => MessageBox.Show(Application.Current.MainWindow, msg)); 

另一种在没有特定窗口的情况下破解相同功能的方法是:

Application.Current.Dispatcher.Invoke(DispatcherPriority.Normal, 
    () => MessageBox.Show(new Form { TopMost = true }, msg); 
+0

欣赏你的答案。表格发布是从图书馆调用的,它在我的区域之外。该团队掌握了这个问题。我将你的答案转发给他们。再次感谢您的意见! – Gulumal

+1

不客气。请将此标记为已接受的答案。 –