方法 : Smartphone の入力モードを設定する

更新 : 2007 年 11 月

Smartphone のアプリケーションで TextBox の入力モードを ABC、T9、および数値の各入力モードに設定できます。これらは、InputMode 列挙体で定義されます。InputModeEditor クラスには、テキストを入力するための Smartphone の入力方法にアクセスする方法が用意されています。

AlphaCurrent モードは、アルファベットを入力するテキスト ボックス用に優先される入力モードの値です。このモードは、Smartphone の * キーを押したときに選択されるモードです。

InputModeEditor を使用して、アルファベット入力モードの大文字/小文字設定を明示的に変更することはできません。ただし、使用されるアルファベット入力モード (T9 または ABC) は、アスタリスク キーで設定されたときの AlphaCurrent 入力モードが維持されます。

InputModeEditor は、Smartphone 上で TextBox コントロールと組み合わせたときだけ使用できます。

使用例

次のコード例で、[Name]、[Phone]、および [City] の 3 つのテキスト ボックスで入力モードを設定する方法を示します。[Name] および [City] テキスト ボックスは、AlphaCurrent 入力モードに設定され、[Phone] テキスト ボックスは、数字入力モードに設定されます。

AlphaCurrent がどのように動作するかを知るには、次の手順を実行します。

  1. [Name] テキスト ボックスを選択した状態で、アスタリスク キーを押しながら T9 または ABC 入力モードのどちらかを使用して、テキストを入力します。

  2. [City] テキスト ボックスにテキストを入力します。入力モードは、[Name] テキスト ボックスと同じです。

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()

      InitializeComponent()

      ' Add a menu to close the application.
      mi1 = New MenuItem()
      mainMenu1.MenuItems.Add(mi1)
      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)
      MyBase.Dispose(disposing)
   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.Controls.Add(textBox1)
      Me.Controls.Add(textBox2)
      Me.Controls.Add(textBox3)
      Me.Controls.Add(label1)
      Me.Controls.Add(label2)
      Me.Controls.Add(label3)
      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)
      Me.Close()
   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()
 {

  InitializeComponent();

  // Add a menu to close the application.
  mi1 = new MenuItem();
  mainMenu1.MenuItems.Add(mi1);
  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.Controls.Add(this.textBox1);
  this.Controls.Add(this.textBox2);
  this.Controls.Add(this.textBox3);
  this.Controls.Add(this.label1);
  this.Controls.Add(this.label2);
  this.Controls.Add(this.label3);
  this.Menu = this.mainMenu1;
  this.Text = "Input Mode Demo";

 }

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

 private void mi1_Click(object sender, EventArgs e)
 {
  this.Close();
 }
}

コードのコンパイル方法

この例は、次の名前空間への参照を必要とします。

参照

その他の技術情報

Smartphone の開発と .NET Compact Framework