[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);
}
範例下載:
若有謬誤,煩請告知,新手發帖請多包涵
Microsoft MVP Award 2010~2017 C# 第四季
Microsoft MVP Award 2018~2022 .NET