次の方法で共有


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 名前空間

その他の技術情報

InputPanel コンポーネント

方法 : InputPanel コンポーネントを使用します。