InputLanguage 类

提供方法和字段以管理输入语言。无法继承此类。

**命名空间:**System.Windows.Forms
**程序集:**System.Windows.Forms(在 system.windows.forms.dll 中)

语法

声明
Public NotInheritable Class InputLanguage
用法
Dim instance As InputLanguage
public sealed class InputLanguage
public ref class InputLanguage sealed
public final class InputLanguage
public final class InputLanguage

备注

输入语言是区域性/键盘布局对,它可确定键盘上的物理键如何映射或绘制某种语言的字符。输入语言基于一个 Windows 输入区域设置标识符,例如 Platform SDK 函数 GetKeyboardLayout 返回的标识符。输入区域设置标识符又称为键盘布局 (HKL) 值的句柄。

使用所提供的 static 方法查找所有已安装的系统映射,并为线程或进程更改输入语言。调用 CurrentInputLanguage 获取当前输入语言。调用 DefaultInputLanguage 获取默认输入语言。调用 InstalledInputLanguages 获取此系统中所有已安装的语言。获得所有已安装语言的列表后,可使用 CurrentInputLanguage 将当前输入语言更改为其他语言。

示例

下面的代码示例获取已安装语言的列表。该示例要求已实例化 textBox1,并且 textBox1.MultiLine 已设置为 true

Public Sub GetLanguages()
    ' Gets the list of installed languages.
    Dim lang As InputLanguage
    For Each lang In  InputLanguage.InstalledInputLanguages
        textBox1.Text &= lang.Culture.EnglishName & ControlChars.Cr
    Next lang
End Sub 'GetLanguages
public void GetLanguages() {
    // Gets the list of installed languages.
    foreach(InputLanguage lang in InputLanguage.InstalledInputLanguages) {
       textBox1.Text += lang.Culture.EnglishName + '\n';
    }
}
public:
   void GetLanguages()
   {
      // Gets the list of installed languages.
      for each ( InputLanguage^ lang in InputLanguage::InstalledInputLanguages )
      {
         textBox1->Text = String::Concat( textBox1->Text, lang->Culture->EnglishName, "\n" );
      }
   }
public void GetLanguages()
{
    // Gets the list of installed languages.
    IEnumerator objEnum = InputLanguage.get_InstalledInputLanguages().
        GetEnumerator();
    while (objEnum.MoveNext()) {
        InputLanguage lang = (InputLanguage)objEnum.get_Current();
        textBox1.set_Text(textBox1.get_Text() + lang.get_Culture().
            get_EnglishName() + '\n');
    }
} //GetLanguages

下一个示例将默认输入语言设置为当前输入语言。该示例要求已实例化 textBox1,并且 textBox1.MultiLine 已设置为 true

Public Sub SetNewCurrentLanguage()
    ' Gets the default, and current languages.
    Dim myDefaultLanguage As InputLanguage = InputLanguage.DefaultInputLanguage
    Dim myCurrentLanguage As InputLanguage = InputLanguage.CurrentInputLanguage
    textBox1.Text = "Current input language is: " & _
        myCurrentLanguage.Culture.EnglishName & ControlChars.Cr
        
    textBox1.Text &= "Default input language is: " & _
        myDefaultLanguage.Culture.EnglishName & ControlChars.Cr
    
    ' Changes the current input language to the default, and prints the new current language.
    InputLanguage.CurrentInputLanguage = myDefaultLanguage
    textBox1.Text &= "Current input language is now: " & _
        myDefaultLanguage.Culture.EnglishName
End Sub 'SetNewCurrentLanguage
public void SetNewCurrentLanguage() {
    // Gets the default, and current languages.
    InputLanguage myDefaultLanguage = InputLanguage.DefaultInputLanguage;
    InputLanguage myCurrentLanguage = InputLanguage.CurrentInputLanguage;
    textBox1.Text = "Current input language is: " + myCurrentLanguage.Culture.EnglishName + '\n';
    textBox1.Text += "Default input language is: " + myDefaultLanguage.Culture.EnglishName + '\n';
 
    // Changes the current input language to the default, and prints the new current language.
    InputLanguage.CurrentInputLanguage = myDefaultLanguage;
    textBox1.Text += "Current input language is now: " + myDefaultLanguage.Culture.EnglishName;
}
public:
   void SetNewCurrentLanguage()
   {
      
      // Gets the default, and current languages.
      InputLanguage^ myDefaultLanguage = InputLanguage::DefaultInputLanguage;
      InputLanguage^ myCurrentLanguage = InputLanguage::CurrentInputLanguage;
      textBox1->Text = String::Format( "Current input language is: {0}\nDefault input language is: {1}\n",
         myCurrentLanguage->Culture->EnglishName, myDefaultLanguage->Culture->EnglishName );
      
      // Changes the current input language to the default, and prints the new current language.
      InputLanguage::CurrentInputLanguage = myDefaultLanguage;
      textBox1->Text = String::Format( "{0}Current input language is now: {1}",
         textBox1->Text, myDefaultLanguage->Culture->EnglishName );
   }
public void SetNewCurrentLanguage()
{
    // Gets the default, and current languages.
    InputLanguage myDefaultLanguage =
        InputLanguage.get_DefaultInputLanguage();
    InputLanguage myCurrentLanguage =
        InputLanguage.get_CurrentInputLanguage();
    textBox1.set_Text("Current input language is: "
        + myCurrentLanguage.get_Culture().get_EnglishName() + '\n');
    textBox1.set_Text(textBox1.get_Text() + "Default input language is: "
        + myDefaultLanguage.get_Culture().get_EnglishName() + '\n');

    // Changes the current input language to the default, 
    // and prints the new current language.
    InputLanguage.set_CurrentInputLanguage(myDefaultLanguage);
    textBox1.set_Text(textBox1.get_Text()
        + "Current input language is now: "
        + myDefaultLanguage.get_Culture().get_EnglishName());
} //SetNewCurrentLanguage

继承层次结构

System.Object
  System.Windows.Forms.InputLanguage

线程安全

此类型的任何公共静态(Visual Basic 中的 Shared)成员都是线程安全的,但不保证所有实例成员都是线程安全的。

平台

Windows 98、Windows 2000 SP4、Windows CE、Windows Millennium Edition、Windows Mobile for Pocket PC、Windows Mobile for Smartphone、Windows Server 2003、Windows XP Media Center Edition、Windows XP Professional x64 Edition、Windows XP SP2、Windows XP Starter Edition

.NET Framework 并不是对每个平台的所有版本都提供支持。有关受支持版本的列表,请参见系统要求

版本信息

.NET Framework

受以下版本支持:2.0、1.1、1.0

请参见

参考

InputLanguage 成员
System.Windows.Forms 命名空间