用户界面-如何在C#中为移动设备确定屏幕的方向
本文关键字:屏幕 方向 移动 用户界面 | 更新日期: 2023-09-27 17:48:50
在C#应用程序中,我如何知道移动设备的屏幕朝向哪个方向?(即水平或垂直)。
在Microsoft.WindowsMobil.Status中有一个类可以跟踪设备的各种属性。除了您需要的DisplayRotation之外,它还包含有关电话覆盖范围、未接来电数量、下次约会等属性。有关详细信息,请参阅msdn。
您还可以添加一个事件处理程序,以便收到这些属性更改的通知。
在项目中添加对Microsoft.WindowsCE.Forms的引用。然后您可以参考Microsoft.WindowsCE.Forms.SystemSettings.ScreenOrientation属性,它将为您提供所需内容。
顺便说一句,您可以设置此属性,因此它也可以用于设置屏幕方向。
您应该向项目添加2个引用:Microsoft.WindowsMobileMicrosoft.WindowsMobil.Status
然后你可以使用这个代码来确定方向:
int orientation=Microsoft.WindowsMobile.Status.SystemState.DisplayRotation;
if(orientation== 90 || orientation==-90 || orientation==270) //Landscape is 90 or -90 or 270
{
//your code;
}
else
{
//your code;
}
只是猜测,但我的第一次尝试是:
var rect = System.Windows.Forms.Screen.PrimaryScreen.Bounds;
// or var rect = System.Windows.Forms.Screen.PrimaryScreen.WorkingArea;
var ratio = rect.Width / rect.Height;
if (ratio == 1.0) // square screen.
if (ratio > 1.0) // landscape.
if (ratio < 1.0) // portrait.