Compartir a través de


InputPanel.InputMethodCollection (Clase)

Actualización: noviembre 2007

Proporciona acceso a todo el software de métodos de entrada instalado en un Pocket PC. Esta clase no se puede heredar.

Espacio de nombres:  Microsoft.WindowsCE.Forms
Ensamblado:  Microsoft.WindowsCE.Forms (en Microsoft.WindowsCE.Forms.dll)

Sintaxis

'Declaración
Public NotInheritable Class InputMethodCollection _
    Implements IList, ICollection, IEnumerable
'Uso
Dim instance As InputPanel.InputMethodCollection
public sealed class InputMethodCollection : IList, 
    ICollection, IEnumerable
public ref class InputMethodCollection sealed : IList, 
    ICollection, IEnumerable
public final class InputMethodCollection implements IList, ICollection, IEnumerable

Comentarios

Esta colección tiene acceso a los métodos de entrada de caracteres y texto en el panel de entrada de software (SIP) de un Pocket PC. Los métodos de entrada habituales son:

  • Teclado

    Puntee los caracteres en el teclado SIP o en un teclado conectado.

  • Reconocedor de letras

    Dibuje las letras y los números en el SIP. Cuando el usuario hace una pausa, la escritura manual se convierte automáticamente en texto escrito a máquina y se muestra en el punto de inserción.

  • Reconocedor de bloques

    Dibuje trazos predeterminados en el SIP para que se representen como caracteres concretos. Este método de entrada es similar a la emulación de graffiti.

Se pueden instalar otros métodos de entrada adaptados a idiomas como japonés y ruso. Cuando se instala un nuevo método de entrada en el dispositivo, se incluye en la colección de métodos de entrada.

Utilice la propiedad InputMethods para obtener una colección InputPanel.InputMethodCollection.

Ejemplos

El ejemplo de código siguiente enumera InputPanel.InputMethodCollection y muestra los métodos de entrada disponibles en un cuadro de lista. Cuando un usuario selecciona un método de entrada, la propiedad CurrentInputMethod se establece en ese método de entrada. La propiedad Enabled del panel de entrada se establece en true para que el teclado y otras áreas de entrada los pueda ver el usuario.

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

Public Class Form1
   Inherits System.Windows.Forms.Form

   Private WithEvents ListBox1 As System.Windows.Forms.ListBox
   Private TextBox1 As System.Windows.Forms.TextBox

   Private InputPanel1 As Microsoft.WindowsCE.Forms.InputPanel


   Public Sub New()
      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()
   End Sub

   Protected Overrides Sub Dispose(disposing As Boolean)
      MyBase.Dispose(disposing)
   End Sub

   Private Sub 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"
   End Sub


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

  Private Sub GetInputMethods()
      Me.ListBox1.Items.Clear()

      ' Get the InputMethods collection and
      ' add each method to the list box.
      Dim im As InputMethod
      For Each im In  InputPanel1.InputMethods
         Me.ListBox1.Items.Add(im.Name)
      Next im
  End Sub

   ' 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.
   Private Sub ListBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ListBox1.SelectedIndexChanged

      ' Get the selected input method from the list box.
      Dim strIM As String
      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
      For Each im In  InputPanel1.InputMethods
         If im.Name = strIM Then
            ' Change the input method.
            InputPanel1.CurrentInputMethod = im
         End If
      Next im
   End Sub

End Class 

' 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
{
public class 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();

 }
 protected override void Dispose( bool disposing )
 {
  base.Dispose( disposing );
 }
 #region Windows Form Designer generated code

 private void 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

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

 private void 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.
 private void 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;
 //   }
 //  }

 }
}
}

Jerarquía de herencia

System.Object
  Microsoft.WindowsCE.Forms.InputPanel.InputMethodCollection

Seguridad para subprocesos

Todos los miembros static (Shared en Visual Basic) públicos de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.

Plataformas

Windows CE, Windows Mobile para Smartphone, Windows Mobile para Pocket PC

.NET Framework y .NET Compact Framework no admiten todas las versiones de cada plataforma. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

Información de versión

.NET Compact Framework

Compatible con: 3.5, 2.0

Vea también

Referencia

InputPanel.InputMethodCollection (Miembros)

Microsoft.WindowsCE.Forms (Espacio de nombres)

Otros recursos

Componente InputPanel

Cómo: Utilizar el componente InputPanel