今天在做surface2+win8.1的一个wpf程序,程序固定了分辨率和高度宽度了,也就是说直接不支持竖屏模式了。
当设备从横屏切换到竖屏时,WPF程序变小,有些控件被覆盖,当从竖屏重新切换到横屏时,程序不会变成原来的大小,还是在竖屏时的大小。
注:该程序外面是window,里面是page,发现page里面的控件会被覆盖
但是在竖屏模式下怎么提示用户那?
找到了下面这个方法:
在你的主窗体中加上一个事件注册DisplaySettingsChanged:
代码如下 | 复制代码 |
Microsoft.Win32.SystemEvents.DisplaySettingsChanged+=newSystem.EventHandler(displaySettingsChanged); |
然后在事件中增加判断是不是高度大于宽度那就说明是竖屏了。
代码如下 | 复制代码 |
privatevoiddisplaySettingsChanged(objectsender,EventArgse) { if(System.Windows.SystemParameters.PrimaryScreenHeight>System.Windows.SystemParameters.PrimaryScreenWidth) { //Runtheapplicationinportrait this.Width=1269; this.Height=699; MessageBox.Show("助手程序不支持竖屏工作,请在横屏模式下使用。");return; } else { this.Width=1269; this.Height=699; } } |
surface的正常工作高度和宽度是:1269*699.
樱花校园模拟器4399中文版
樱花校园模拟器4399中文版,十分奇趣好玩的3d校园冒险模拟
我的暑假秘密回忆繁星新春版
我的暑假秘密回忆繁星新春版是一款少女模拟养成类休闲游戏。这款
樱花校园模拟器国际版
樱花校园模拟器国际版,一个超级自由超级好玩的自由恋爱模拟的游
饥荒海难九游版
饥荒海难九游版,带你去真实的海岛上感受一下什么才是真正的孤岛
盖瑞模组体验版最新版
盖瑞模组体验版是玩法非常丰富多元化的沙盒建造游戏,玩家可以在