InputModeEditor Class

Provides access to Smartphone input methods for entering text.

Namespace:  Microsoft.WindowsCE.Forms
Assembly:  Microsoft.WindowsCE.Forms (in Microsoft.WindowsCE.Forms.dll)


Public NotInheritable Class InputModeEditor
Dim instance As InputModeEditor
public sealed class InputModeEditor
public ref class InputModeEditor sealed
public final class InputModeEditor


You can set the input mode only on a TextBox. To specify an input mode, specify one of the values from the InputMode enumeration. The Smartphone supports the ABC, T9, and numeric input modes.

The AlphaCurrent mode is the preferred input mode value for text boxes used for alpha characters. This mode matches the mode selected by holding down the star (*) key on the Smartphone. You cannot use an InputModeEditor to explicitly change casing settings for alpha input modes. However, the alpha input mode used (T9 or ABC) are retained by the AlphaCurrent input mode when set with the star key.

Supported on Smartphone 2003. Using this class on a device other than the Smartphone or on a control other than a TextBox fails but no exception is thrown.


The following code example shows setting the input mode on three text boxes: Name, Phone, and City. The Name and City text boxes are set with the AlphaCurrent input mode and the Phone text box is set with the Numeric input mode.

To observe how AlphaCurrent works, perform the following procedure:

  1. With the Name text box selected, hold down the star key and enter text using either the T9 or ABC input modes.

  2. Enter text in the City text box. Note that the input mode is the same as the Name text box.

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

Public Class Form1
   Inherits System.Windows.Forms.Form
   Private mainMenu1 As System.Windows.Forms.MainMenu
   Private mi1 As System.Windows.Forms.MenuItem

   ' Text box for name. 
   Private textBox1 As System.Windows.Forms.TextBox
   ' Text box for phone number. 
   Private textBox2 As System.Windows.Forms.TextBox
   ' Text box for city. 
   Private textBox3 As System.Windows.Forms.TextBox

   ' Labels for name, phone, and city 
   Private label1 As System.Windows.Forms.Label
   Private label2 As System.Windows.Forms.Label
   Private label3 As System.Windows.Forms.Label

   Public Sub New()


      ' Add a menu to close the application.
      mi1 = New MenuItem()
      AddHandler mi1.Click, AddressOf mi1_Click
      mi1.Text = "Done" 

      ' Set input mode for name text box to AlphaCurrent.
      InputModeEditor.SetInputMode(textBox1, InputMode.AlphaCurrent)

      ' Set input mode for phone number text box to Numeric.
      InputModeEditor.SetInputMode(textBox2, InputMode.Numeric)
      ' Set input mode for city text box to AlphaCurrent.
      InputModeEditor.SetInputMode(textBox3, InputMode.AlphaCurrent)
   End Sub 

   Protected Overrides Sub Dispose(disposing As Boolean)
   End Sub 

   Private Sub InitializeComponent()
      Me.mainMenu1 = New System.Windows.Forms.MainMenu()

      Me.mainMenu1 = New System.Windows.Forms.MainMenu()
      Me.textBox1 = New System.Windows.Forms.TextBox()
      Me.textBox2 = New System.Windows.Forms.TextBox()
      Me.textBox3 = New System.Windows.Forms.TextBox()

      Me.label1 = New System.Windows.Forms.Label()
      Me.label2 = New System.Windows.Forms.Label()
      Me.label3 = New System.Windows.Forms.Label()
      ' textBox1 
      Me.textBox1.Location = New System.Drawing.Point(64, 8)
      Me.textBox1.Size = New System.Drawing.Size(104, 25)
      Me.textBox1.Text = "" 
      ' textBox2 
      Me.textBox2.Location = New System.Drawing.Point(64, 40)
      Me.textBox2.Size = New System.Drawing.Size(104, 25)
      Me.textBox2.Text = "" 
      ' textBox3 
      Me.textBox3.Location = New System.Drawing.Point(64, 72)
      Me.textBox3.Size = New System.Drawing.Size(104, 25)
      Me.textBox3.Text = "" 
      ' label1 
      Me.label1.Location = New System.Drawing.Point(8, 8)
      Me.label1.Size = New System.Drawing.Size(56, 22)
      Me.label1.Text = "Name" 
      ' label2 
      Me.label2.Location = New System.Drawing.Point(8, 40)
      Me.label2.Size = New System.Drawing.Size(56, 22)
      Me.label2.Text = "Phone" 
      ' label3 
      Me.label3.Location = New System.Drawing.Point(8, 72)
      Me.label3.Size = New System.Drawing.Size(56, 22)
      Me.label3.Text = "City" 
      ' Form1 
      Me.Menu = Me.mainMenu1
      Me.Text = "Input Mode Demo" 
   End Sub 

   Shared Sub Main()
      Application.Run(New Form1())
   End Sub 

   Private Sub mi1_Click(sender As Object, e As EventArgs)
   End Sub 
End Class
using System;
using System.Drawing;
using System.Collections;
using System.Windows.Forms;
using Microsoft.WindowsCE.Forms;

public class Form1 : System.Windows.Forms.Form
 private System.Windows.Forms.MainMenu mainMenu1;
 private System.Windows.Forms.MenuItem mi1;

 // Text box for name. 
 private System.Windows.Forms.TextBox textBox1;
 // Text box for phone number. 
 private System.Windows.Forms.TextBox textBox2;
 // Text box for city. 
 private System.Windows.Forms.TextBox textBox3;

 // Labels for name, phone, and city 
 private System.Windows.Forms.Label label1;
 private System.Windows.Forms.Label label2;
 private System.Windows.Forms.Label label3;

 public Form1()


  // Add a menu to close the application.
  mi1 = new MenuItem();
  mi1.Click +=new EventHandler(mi1_Click);
  mi1.Text = "Done";

  // Set input mode for name text box to AlphaCurrent.
  InputModeEditor.SetInputMode(textBox1, InputMode.AlphaCurrent);

  // Set input mode for phone number text box to Numeric.
  InputModeEditor.SetInputMode(textBox2, InputMode.Numeric);

  // Set input mode for city text box to AlphaCurrent.
  InputModeEditor.SetInputMode(textBox3, InputMode.AlphaCurrent);


 protected override void Dispose( bool disposing )
  base.Dispose( disposing );

 private void InitializeComponent()
  this.mainMenu1 = new System.Windows.Forms.MainMenu();

  this.mainMenu1 = new System.Windows.Forms.MainMenu();
  this.textBox1 = new System.Windows.Forms.TextBox();
  this.textBox2 = new System.Windows.Forms.TextBox();
  this.textBox3 = new System.Windows.Forms.TextBox();

  this.label1 = new System.Windows.Forms.Label();
  this.label2 = new System.Windows.Forms.Label();
  this.label3 = new System.Windows.Forms.Label();
  // textBox1 
  this.textBox1.Location = new System.Drawing.Point(64, 8);
  this.textBox1.Size = new System.Drawing.Size(104, 25);
  this.textBox1.Text = "";
  // textBox2 
  this.textBox2.Location = new System.Drawing.Point(64, 40);
  this.textBox2.Size = new System.Drawing.Size(104, 25);
  this.textBox2.Text = "";
  // textBox3 
  this.textBox3.Location = new System.Drawing.Point(64, 72);
  this.textBox3.Size = new System.Drawing.Size(104, 25);
  this.textBox3.Text = "";
  // label1 
  this.label1.Location = new System.Drawing.Point(8, 8);
  this.label1.Size = new System.Drawing.Size(56, 22);
  this.label1.Text = "Name";
  // label2 
  this.label2.Location = new System.Drawing.Point(8, 40);
  this.label2.Size = new System.Drawing.Size(56, 22);
  this.label2.Text = "Phone";
  // label3 
  this.label3.Location = new System.Drawing.Point(8, 72);
  this.label3.Size = new System.Drawing.Size(56, 22);
  this.label3.Text = "City";
  // Form1 
  this.Menu = this.mainMenu1;
  this.Text = "Input Mode Demo";


 static void Main()
  Application.Run(new Form1());

 private void mi1_Click(object sender, EventArgs e)

Inheritance Hierarchy


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.


Windows Mobile for Smartphone

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


InputModeEditor Members

Microsoft.WindowsCE.Forms Namespace

Other Resources

How to: Set Smartphone Input Modes