【发布时间】:2016-01-06 18:58:43
【问题描述】:
我有一个带有显示对话框的表单的 Winforms 应用程序:
using (MyForm form = new MyForm)) {
form.ShowDialog(this);
}
显示的对话框具有以下属性:
StartPosition = CenterParent
ControlBox = True
MaximizeBox = True
MinimizeBox = True
FormBorderStyle = Sizable
通常,表单以模态方式显示在调用表单的顶部。但是,当在平板电脑模式下的 Windows 10 中运行时(例如在移除键盘的 Surface Pro 3 上),表单会显示在调用表单的后面,并且无法访问它,因为一切都是全屏的。
我是否可以更改任何设置来防止这种行为(除了告诉用户不要使用平板电脑模式)?
【问题讨论】:
-
这是一个未经测试的解决方法——将以下代码添加到对话框类的
Load事件处理程序:BeginInvoke((Action)(() => this.Activate()));(其中this是对话框实例,因此将处理程序添加到MyForm类,而不是调用类) -
@adv12:好主意。试一试,但没有任何区别。
-
无赖!那是我最好的猜测。祝你好运!
标签: c# winforms modal-dialog windows-10