对话框在Windows 10 Tablet模式下显示在父级后面

时间:2016-01-06 18:58:44

标签: c# winforms modal-dialog windows-10

我有一个Winforms应用程序,其中包含一个显示对话框的表单:

using (MyForm form = new MyForm)) {
   form.ShowDialog(this);
}

显示的对话框具有以下属性:

StartPosition = CenterParent
ControlBox = True
MaximizeBox = True
MinimizeBox = True
FormBorderStyle = Sizable

通常,表单以模态方式显示在调用表单之上。但是,当在Windows 10中以平板电脑模式运行时(例如在删除了键盘的Surface Pro 3上),表单显示在调用表单后面,因为一切都是全屏的,所以无法访问它。

我是否可以更改任何设置以防止此行为(除了告诉用户不使用平板电脑模式)?

2 个答案:

答案 0 :(得分:3)

如果其他人偶然发现这个问题,正在寻找WPF中同一问题的解决方案:

在对话框中指定 ShowInTaskbar =“False”为我工作。

答案 1 :(得分:0)

嗯,这是愚蠢的。我看了一下另一个显示为实际工作对话框的表单。区别:

MaximizeBox = False

删除最大化表单的功能后,它会显示您所期望的效果。有趣的是,从来没有必要能够最大化形式;它只剩下默认值。