[C#.NET] 如何列舉輸入法

  • 11027
  • 0
  • C#
  • 2013-07-05

[C#.NET] 如何列舉輸入法

1.InputLanguage 類別 提供管理輸入語言的方法和欄位

2.InputLanguageCollection 類別 提供系統上安裝之輸入語言的清單

 

如何列舉系統已安裝的輸入法


//1.收集系統已安裝的輸入法
InputLanguageCollection myInput = InputLanguage.InstalledInputLanguages;
//2.列舉輸入法
foreach (InputLanguage input in myInput)
{
    //加入控制項
    this.comboBox1.Items.Add(input.LayoutName);
}

 

如何改變輸入法


//1.設定輸入法,依comboBox1選擇
InputLanguage MyInput = InputLanguage.InstalledInputLanguages[this.comboBox1.SelectedIndex];
//2.設定輸入法
InputLanguage.CurrentInputLanguage = MyInput;


完整程式碼

private void Form1_Load(object sender, EventArgs e)
{
    //清除
    this.listBox1.Items.Clear();
    //1.收集系統已安裝的輸入法
    InputLanguageCollection myInput = InputLanguage.InstalledInputLanguages;
    //2.列舉輸入法
    foreach (InputLanguage input in myInput)
    {
        //加入控制項
        this.comboBox1.Items.Add(input.LayoutName);
    }
    //3.取得目前輸入法
    InputLanguage CurrentInput = InputLanguage.CurrentInputLanguage;
    listBox1.Items.Add("目前輸入法名稱為: " + "\t" + CurrentInput.LayoutName);
    //4.取得輸入法區域
    listBox1.Items.Add("目前輸入法文化特性為: " + "\t" + CurrentInput.Culture.DisplayName);
    //5.取得預設的輸入法
    InputLanguage DefaultInput = InputLanguage.DefaultInputLanguage;
    listBox1.Items.Add("預設輸入法文化特性為: " + "\t" + DefaultInput.LayoutName);
} 

private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
    //清除
    this.listBox1.Items.Clear();
    //1.設定輸入法,依comboBox1選擇
    InputLanguage MyInput = InputLanguage.InstalledInputLanguages[this.comboBox1.SelectedIndex];
    //2.設定輸入法
    InputLanguage.CurrentInputLanguage = MyInput;
    //3.取得目前輸入訊息
    InputLanguage CurrentInput = InputLanguage.CurrentInputLanguage;
    listBox1.Items.Add("目前輸入法名稱為: " + "\t" + CurrentInput.LayoutName);
    //4.取得輸入法區域
    listBox1.Items.Add("目前輸入法文化特性為: " + "\t" + CurrentInput.Culture.DisplayName);
    //5.取得預設輸入法
    InputLanguage DefaultInput = InputLanguage.DefaultInputLanguage;
    listBox1.Items.Add("預設輸入法文化特性為: " + "\t" + DefaultInput.LayoutName);
}

 

範例下載:

VB_輸入法.rar

CS_輸入法.rar

若有謬誤,煩請告知,新手發帖請多包涵


Microsoft MVP Award 2010~2017 C# 第四季
Microsoft MVP Award 2018~2022 .NET

Image result for microsoft+mvp+logo