SystemSettings Class
Provides access to user interface settings and native Windows Embedded 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
Remarks
Currently, this class provides settings for the ScreenOrientation and Platform properties only.
Examples
The following example demonstrates how to rotate the screen orientation of a device from the default portrait view at 0 degrees to 90 degrees, to 180 degrees, to 270 degrees, and then back to 0 degrees. The button clicks cycle 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 Smartphone, Windows Mobile for Pocket PC
The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Version Information
.NET Compact Framework
Supported in: 3.5, 2.0
See Also
Reference
Microsoft.WindowsCE.Forms Namespace