SystemSettings Class

Provides access to user interface and native Windows CE operating system settings on a device.

Namespace: Microsoft.WindowsCE.Forms
Assembly: Microsoft.WindowsCE.Forms (in microsoft.windowsce.forms.dll)

Syntax

'Declaration
Public NotInheritable Class SystemSettings
'Usage
Dim instance As SystemSettings
public sealed class SystemSettings
public ref class SystemSettings sealed
public final class SystemSettings
public final class SystemSettings

Remarks

Currently, this class provides settings for the ScreenOrientation property only.

Example

The following code example demonstrates how to rotate the screen orientation of a device from the normal portrait view at zero degrees to 90, then to 180, then to 270, and then back to zero degrees. Each button click cycles through the ScreenOrientation enumeration.

Imports System
Imports System.Drawing
Imports System.Windows.Forms
Imports Microsoft.WindowsCE.Forms



Public Class Form1
   Inherits System.Windows.Forms.Form
   Private WithEvents Button1 As System.Windows.Forms.Button
   Private mainMenu1 As System.Windows.Forms.MainMenu
   Private StatusBar1 As System.Windows.Forms.StatusBar
   
   ' Set a variable to be incremented by button clicks
   ' that will change the orientation by rotating
   ' through the ScreenOrientation enumeration.
   Private x As Integer = 0
   
   
   Public Sub New()
      InitializeComponent()
      
      Me.MinimizeBox = False
      
      ' Set the screen orientation to normal
      ' and display the value on the status bar.
      SystemSettings.ScreenOrientation = ScreenOrientation.Angle0
      Me.StatusBar1.Text = SystemSettings.ScreenOrientation.ToString()
   End Sub

   Protected Overrides Sub Dispose(disposing As Boolean)
      MyBase.Dispose(disposing)
   End Sub
   
   Private Sub InitializeComponent()
      Me.Button1 = New System.Windows.Forms.Button()
      Me.StatusBar1 = New System.Windows.Forms.StatusBar()
      '
      ' Button1
      '
      Me.Button1.Location = New System.Drawing.Point(16, 128)
      Me.Button1.Text = "Rotate"
      '
      ' Form1
      '
      Me.Controls.Add(Button1)
      Me.Controls.Add(StatusBar1)
      Me.Text = "Orientation Demo"
   End Sub
   
   Shared Sub Main()
      Application.Run(New Form1())
   End Sub
   
   
   ' Each click event changes the screen orientation, as determined
   ' by the variable x, which increments from 0 to 3 and then back
   ' to 0. Four clicks cycle through the ScreenOrientation enumeration.
   Private Sub Button1_Click(sender As Object, e As System.EventArgs) Handles Button1.Click
      
      Select Case x
         Case 0
            
            ' Pass a value for the ScreenOrientation enumeration
            ' to the SetOrientation method, defined below,
            ' and increment x so that the next button
            ' click rotates the screen orientation.
            SetOrientation(ScreenOrientation.Angle90)
            x += 1
         Case 1
            SetOrientation(ScreenOrientation.Angle180)
            x += 1
         Case 2
            SetOrientation(ScreenOrientation.Angle270)
            x += 1
         Case 3
            SetOrientation(ScreenOrientation.Angle0)
            x = 0
         Case Else
            SetOrientation(ScreenOrientation.Angle0)
            x = 0
      End Select
   End Sub
   
   
   ' Set the orientation to a value of the
   ' ScreenOrienation enumeration and update the
   ' status bar with the current angle.
   Private Sub SetOrientation(so As ScreenOrientation)
      ' Set the requested orientation.
      SystemSettings.ScreenOrientation = so
      
      Me.StatusBar1.Text = SystemSettings.ScreenOrientation.ToString()
   End Sub

End Class
using System;
using System.Drawing;
using System.Collections;
using System.Windows.Forms;
using System.Data;
using Microsoft.WindowsCE.Forms;

namespace SystemSettingsTest
{
public class Form1 : System.Windows.Forms.Form
{
 private System.Windows.Forms.Button button1;
 private System.Windows.Forms.MainMenu mainMenu1;
 private System.Windows.Forms.StatusBar statusBar1;

 // Set a variable to be incremented by button clicks
 // that will change the orientation by rotating
 // through the ScreenOrientation enumeration.
 int x = 0;

 public Form1()
 {
  InitializeComponent();

  this.MinimizeBox = false;

  // Set the screen orientation to normal
  // and display the value on the status bar.
  SystemSettings.ScreenOrientation = ScreenOrientation.Angle0;
  this.statusBar1.Text = SystemSettings.ScreenOrientation.ToString();

 }
 protected override void Dispose( bool disposing )
 {
  base.Dispose( disposing );
 }
 #region Windows Form Designer generated code
 private void InitializeComponent()
 {
  this.mainMenu1 = new System.Windows.Forms.MainMenu();
  this.button1 = new System.Windows.Forms.Button();
  this.statusBar1 = new System.Windows.Forms.StatusBar();
  //
  // button1
  //
  this.button1.Location = new System.Drawing.Point(16, 128);
  this.button1.Text = "Rotate";
  this.button1.Click += new System.EventHandler(this.button1_Click);
  //
  // Form1
  //
  this.Controls.Add(this.button1);
  this.Controls.Add(this.statusBar1);
  this.Menu = this.mainMenu1;
  this.Text = "Orientation Demo";
 }
 #endregion
 static void Main()
 {
  Application.Run(new Form1());
 }


  // Each click event changes the screen orientation, as determined
  // by the variable x, which increments from 0 to 3 and then back
  // to 0. Four clicks cycle through the ScreenOrientation enumeration.

 private void button1_Click(object sender, System.EventArgs e)
 {

  switch(x)
  {
   case 0:

    // Pass a value for the ScreenOrientation enumeration
    // to the SetOrientation method, defined below,
    // and increment x so that the next button
    // click rotates the screen orientation.
    SetOrientation(ScreenOrientation.Angle90);
    x++;
    break;
   case 1:
    SetOrientation(ScreenOrientation.Angle180);
    x++;
    break;
   case 2:
    SetOrientation(ScreenOrientation.Angle270);
    x++;
    break;
   case 3:
    SetOrientation(ScreenOrientation.Angle0);
    x = 0;
    break;
   default:
    SetOrientation(ScreenOrientation.Angle0);
    x = 0;
    break;
  }
 }

  // Set the orientation to a value of the
  // ScreenOrienation enumeration and update the
  // status bar with the current angle.
 private void SetOrientation(ScreenOrientation so)
 {
  // Set the requested orientation.

  SystemSettings.ScreenOrientation = so;

  this.statusBar1.Text = SystemSettings.ScreenOrientation.ToString();
 }

Inheritance Hierarchy

System.Object
  Microsoft.WindowsCE.Forms.SystemSettings

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Windows CE, Windows Mobile for Pocket PC, Windows Mobile for Smartphone

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see System Requirements.

Version Information

.NET Compact Framework

Supported in: 2.0

See Also

Reference

SystemSettings Members
Microsoft.WindowsCE.Forms Namespace

Other Resources

How to: Handle Orientation and Resolution Changes