HOW TO:設定 Smartphone 輸入模式
更新:2007 年 11 月
您可以將 Smartphone 應用程式中 TextBox 的輸入模式設定為 InputMode 列舉型別所定義的 ABC、T9 和數字輸入模式。InputModeEditor 類別是用來讓使用者存取 Smartphone 輸入法,以便輸入文字。
若是用於英文字元的文字方塊,慣用的輸入模式值會是 AlphaCurrent 模式。此模式就是在 Smartphone 上按住星號鍵 (*) 時所選取的模式。
您不可以使用 InputModeEditor,明確地變更英文輸入模式的大小寫設定。但是,如果是使用星號鍵設定,AlphaCurrent 輸入模式便會保留所用的英文輸入模式 (T9 或 ABC)。
您只可以在 Smartphone 上使用 InputModeEditor,且只能與 TextBox 控制項搭配使用。
範例
下列程式碼範例示範在三個文字方塊上設定輸入模式:Name、Phone 和 CityName 和 City 文字方塊是以 AlphaCurrent 輸入模式來設定,而 Phone 文字方塊是以「數字」輸入模式來設定。
若要觀察 AlphaCurrent 的運作方式,請執行下列程序:
選取 Name 文字方塊,按住星號鍵並使用 T9 或 ABC 輸入模式來輸入文字。
在 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();
}
}
編譯程式碼
這個範例需要下列命名空間的參考: