InputPanel.InputMethodCollection クラス
[このドキュメントはプレビュー版であり、後のリリースで変更されることがあります。 空白のトピックは、プレースホルダーとして挿入されています。]
Pocket PC にインストールされた、すべての入力方式ソフトウェアにアクセスできるようにします。 このクラスは継承できません。
名前空間: Microsoft.WindowsCE.Forms
アセンブリ: Microsoft.WindowsCE.Forms (Microsoft.WindowsCE.Forms.dll 内)
構文
'宣言
Public NotInheritable Class InputMethodCollection _
Implements IList, ICollection, IEnumerable
'使用
Dim instance As InputPanel.InputMethodCollection
public sealed class InputMethodCollection : IList,
ICollection, IEnumerable
public ref class InputMethodCollection sealed : IList,
ICollection, IEnumerable
[<SealedAttribute>]
type InputMethodCollection =
class
interface IList
interface ICollection
interface IEnumerable
end
解説
このコレクションは、Pocket PC のソフト入力パネル (SIP: Soft Input Panel) のテキストおよび文字エントリに使用するメソッドにアクセスします。一般的な入力方式は、次のとおりです。
Keyboard
SIP キーボードまたは付属のハードウェア キーボードで文字を入力します。
英数字認識機能
SIP に文字と数字を描画します。ユーザーが入力を中断すると、書き込みは入力済みテキストに自動的に変換され、挿入位置に表示されます。
Block Recognizer
特定の文字として表示する定義済みのストロークを SIP に描画します。この入力方式は、graffiti エミュレーションと同様です。
日本語やロシア語などの言語をサポートするために、他の入力方式をインストールできます。デバイスに新しい入力方式がインストールされると、その入力方式は入力方式コレクションに含まれます。
InputMethods を取得するには、InputPanel.InputMethodCollection プロパティを使用します。
例
InputPanel.InputMethodCollection を列挙し、利用できる入力方式をリスト ボックスに表示するコード例を次に示します。ユーザーが入力方式を選択すると、CurrentInputMethod プロパティはその入力方式に設定されます。ユーザーに対してキーボードおよび他の入力領域が表示されるように、入力パネルの Enabled プロパティは、true に設定されます。
Imports System
Imports System.Windows.Forms
Imports Microsoft.WindowsCE.Forms
Imports Microsoft.VisualBasic
PublicClass Form1
Inherits System.Windows.Forms.Form
PrivateWithEvents ListBox1 As System.Windows.Forms.ListBox
Private TextBox1 As System.Windows.Forms.TextBox
Private InputPanel1 As Microsoft.WindowsCE.Forms.InputPanel
PublicSubNew()
InitializeComponent()
'Display OK Button for closing the application.Me.MinimizeBox = False
MessageBox.Show(InputPanel1.InputMethods.Count.ToString())
' Display the input panel.
InputPanel1.Enabled = True
' Get the input methods to populate the list box. ' Select the first method.
GetInputMethods()
ListBox1.SelectedIndex = 0
' Set the focus on the text box to render input from the input panel.
TextBox1.Focus()
EndSubProtectedOverridesSub Dispose(disposing AsBoolean)
MyBase.Dispose(disposing)
EndSubPrivateSub InitializeComponent()
Me.InputPanel1 = New Microsoft.WindowsCE.Forms.InputPanel
Me.ListBox1 = New System.Windows.Forms.ListBox
Me.TextBox1 = New System.Windows.Forms.TextBox
' ' ListBox1 'Me.ListBox1.Location = New System.Drawing.Point(8, 40)
Me.ListBox1.Size = New System.Drawing.Size(200, 80)
' ' TextBox1 'Me.TextBox1.Location = New System.Drawing.Point(8, 140)
Me.TextBox1.Size = New System.Drawing.Size(200, 200)
' ' Form1 'Me.Controls.Add(ListBox1)
Me.Controls.Add(TextBox1)
Me.Text = "Input Methods"EndSubSharedSub Main()
Application.Run(New Form1())
EndSubPrivateSub GetInputMethods()
Me.ListBox1.Items.Clear()
' Get the InputMethods collection and ' add each method to the list box.Dim im As InputMethod
ForEach im In InputPanel1.InputMethods
Me.ListBox1.Items.Add(im.Name)
Next im
EndSub
' This event handler iterates through the ' InputMethodCollection and sets the input method ' to the input method selected in the list box. ' When a member of the collection is the ' same the selected value in the list box, that ' method is set to the current input method.PrivateSub ListBox1_SelectedIndexChanged(sender AsObject, e As EventArgs) Handles ListBox1.SelectedIndexChanged
' Get the selected input method from the list box.Dim strIM AsString
strIM = ListBox1.SelectedItem.ToString()
' Iterate through the input method collection. ' When there is a match with the input method ' selected in the list box, set the ' CurrentInputMethod property to the selected method.Dim im As InputMethod
ForEach im In InputPanel1.InputMethods
If im.Name = strIM Then ' Change the input method.
InputPanel1.CurrentInputMethod = im
EndIfNext im
EndSubEndClass
' Note that the InputMethodCollection' can also be enumerated as follows:' InputPanel.InputMethodCollection imc;' imc = InputPanel1.InputMethods;' for (int i = 0; i < imc.Count; i++)' {' if (imc[i].Name == strIM)' {' // Change input method.' InputPanel1.CurrentInputMethod = imc[i];'' break;' }' }
using System;
using System.Windows.Forms;
using Microsoft.WindowsCE.Forms;
namespace InputMethodsTest
{
publicclass Form1 : System.Windows.Forms.Form
{
private System.Windows.Forms.MainMenu mainMenu1;
private System.Windows.Forms.ListBox listBox1;
private System.Windows.Forms.TextBox textBox1;
private Microsoft.WindowsCE.Forms.InputPanel ip;
public Form1()
{
InitializeComponent();
//Display OK Button for closing the application.this.MinimizeBox = false;
MessageBox.Show(ip.InputMethods.Count.ToString());
// Display the input panel.
ip.Enabled = true;
// Get the input methods to populate the list box.// Select the first method.
GetInputMethods();
listBox1.SelectedIndex = 0;
// Set the focus on the text box to render input from the input panel.
textBox1.Focus();
}
protectedoverridevoid Dispose( bool disposing )
{
base.Dispose( disposing );
}
#region Windows Form Designer generated code
privatevoid InitializeComponent()
{
this.mainMenu1 = new System.Windows.Forms.MainMenu();
this.ip = new InputPanel();
this.listBox1 = new ListBox();
this.textBox1 = new TextBox();
//// listBox1//this.listBox1.Location = new System.Drawing.Point(8, 40);
this.listBox1.Size = new System.Drawing.Size(200, 80);
this.listBox1.SelectedIndexChanged += new System.EventHandler(this.listBox1_SelectedIndexChanged);
//// textBox1//this.textBox1.Location = new System.Drawing.Point(8, 140);
this.textBox1.Size = new System.Drawing.Size(200, 200);
//// Form1//this.Controls.Add(this.listBox1);
this.Controls.Add(this.textBox1);
this.Menu = this.mainMenu1;
this.Text = "Input Methods";
}
#endregion
staticvoid Main()
{
Application.Run(new Form1());
}
privatevoid GetInputMethods()
{
this.listBox1.Items.Clear();
// Get the InputMethods collection and// add each method to the list box.foreach (InputMethod im in ip.InputMethods)
{
this.listBox1.Items.Add(im.Name);
}
}
// This event handler iterates through the// InputMethodCollection and sets the input method// to the input method selected in the list box.// When a member of the collection is the// same the selected value in the list box, that// method is set to the current input method.privatevoid listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
// Get the selected input method from the list box.string strIM;
strIM = listBox1.SelectedItem.ToString();
// Iterate through the input method collection.// When there is a match with the input method// selected in the list box, set the// CurrentInputMethod property to the selected method.foreach (InputMethod im in ip.InputMethods)
{
if (im.Name == strIM)
// Change the input method.
ip.CurrentInputMethod = im;
}
// Note that the InputMethodCollection// can also be enumerated as follows:// InputPanel.InputMethodCollection imc;// imc = ip.InputMethods;// for (int i = 0; i < imc.Count; i++)// {// if (imc[i].Name == strIM)// {// // Change input method.// ip.CurrentInputMethod = imc[i];//// break;// }// }
}
}
}
継承階層
System.Object
Microsoft.WindowsCE.Forms.InputPanel.InputMethodCollection
スレッド セーフ
この型のすべてのパブリック static (Visual Basic では Shared) メンバーは、スレッド セーフです。 インスタンス メンバーの場合は、スレッド セーフであるとは限りません。
プラットフォーム
Windows CE, Windows Mobile for Smartphone, Windows Mobile for Pocket PC
.NET Framework および .NET Compact Framework では、各プラットフォームのすべてのバージョンはサポートしていません。 サポートされているバージョンについては、「.NET フレームワークのシステム要件」を参照してください。
バージョン情報
.NET Compact Framework
サポート対象 : 3.5、2.0
参照
参照
InputPanel.InputMethodCollection メンバー
Microsoft.WindowsCE.Forms 名前空間