Classe InputPanel.InputMethodCollection
Aggiornamento: novembre 2007
Fornisce l'accesso al software dei metodi di input installati in un Pocket PC. Questa classe non può essere ereditata.
Spazio dei nomi: Microsoft.WindowsCE.Forms
Assembly: Microsoft.WindowsCE.Forms (in Microsoft.WindowsCE.Forms.dll)
Sintassi
'Dichiarazione
Public NotInheritable Class InputMethodCollection _
Implements IList, ICollection, IEnumerable
'Utilizzo
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
Note
Questo insieme accede ai metodi per l'immissione di testo e caratteri nel pannello di input di un Pocket PC. I metodi di input comuni sono:
Tastiera
Toccare i caratteri sulla tastiera software o su una tastiera hardware collegata.
Riconoscimento lettere
Tracciare lettere e numeri nel pannello input. Quando l'utente si ferma, la scrittura viene convertita automaticamente in testo digitato, visualizzato in corrispondenza del punto di inserimento.
Riconoscimento maiuscole
Tracciare tratti predeterminati nel pannello input, che vengono visualizzati come caratteri specifici. Questo metodo di input è simile all'emulazione graffiti.
È possibile installare software per altri metodi di input, per offrire il supporto per lingue quali il giapponese e il russo. I nuovi metodi di input installati nel dispositivo vengono inclusi nell'insieme dei metodi di input.
Utilizzare la proprietà InputMethods per ottenere un insieme InputPanel.InputMethodCollection.
Esempi
Nell'esempio di codice riportato di seguito viene enumerato l'insieme InputPanel.InputMethodCollection e i metodi di input disponibili vengono elencati in una casella di riepilogo. Quando un utente seleziona un metodo di input, la proprietà CurrentInputMethod viene impostata su tale metodo di input. La proprietà Enabled per il Pannello input software è impostata su true, in modo che la tastiera e le altre aree di input vengano visualizzate all'utente.
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;
// }
// }
}
}
}
Gerarchia di ereditarietà
System.Object
Microsoft.WindowsCE.Forms.InputPanel.InputMethodCollection
Codice thread safe
Qualsiasi membro static (Shared in Visual Basic) pubblico di questo tipo è thread-safe. I membri di istanza non sono garantiti come thread-safe.
Piattaforme
Windows CE, Windows Mobile per Smartphone, Windows Mobile per Pocket PC
.NET Framework e .NET Compact Framework non supportano tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.
Informazioni sulla versione
.NET Compact Framework
Supportato in: 3.5, 2.0
Vedere anche
Riferimenti
Membri InputPanel.InputMethodCollection
Spazio dei nomi Microsoft.WindowsCE.Forms