Search code examples
vb.netwindows-xplandscapeportrait

How do I develop for both Portrait and Landscape display formats?


I'm currently developing for a handheld device running Windows XP Professional (not Tablet PC edition). The device allows users to switch from the standard widescreen landscape display format to a portrait one. I would like to know if there are any VB.NET code snippets to help me along with this task.


Solution

  • The way to determine the current orientation is with the System.Windows.Forms.SystemInformation.ScreenOrientation property.

    To get the actual size of the screen, check System.Windows.Forms.Screen.PrimaryScreen.WorkingArea.Height (and .Width)

    You can declare an event handler (with the AddHandler statement) for Microsoft.Win32.SystemEvents.DisplaySettingsChanged as a trigger your app can respond to, and then check the screen orientation to see if you need to adjust your GUI layout.