首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> C# >> 關於C#

在 C# 應用程式中自動控制輸入法切換

     編輯:關於C#

Windows 通常安裝多種輸入法,手動切換麻煩。若應用程式能依據欄位自動切換(如 Access 資料輸入體驗),將大幅提升專業度。.NET 提供 System.Windows.Forms.InputLanguage 類別支援此功能。

關鍵屬性

  • CurrentInputLanguage:取得/設定目前執行緒輸入法。
  • DefaultInputLanguage:取得預設輸入法。
  • InstalledInputLanguages:列舉系統安裝的輸入法集合。
  • LayoutName:取得輸入法在系統匣的註冊名稱。

實作範例:InputLanguageRichEdit

  1. 建立 Windows Forms 專案,加入 RichTextBox、ComboBox、Button。
  2. Form_Load:填入 InstalledInputLanguages 的 LayoutName 至 ComboBox,預選目前輸入法。
  3. ComboBox_SelectedIndexChanged:切換 CurrentInputLanguage。
  4. InputLanguageChanged 事件:偵測系統匣手動切換,同步更新 ComboBox 選項。
private void Form1_Load(object sender, EventArgs e)
{
    foreach (InputLanguage il in InputLanguage.InstalledInputLanguages)
        comboBox1.Items.Add(il.LayoutName);
    comboBox1.SelectedIndex = InputLanguage.InstalledInputLanguages.IndexOf(InputLanguage.CurrentInputLanguage);
}

private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
    InputLanguage.CurrentInputLanguage = InputLanguage.InstalledInputLanguages[comboBox1.SelectedIndex];
}

private void ChangeInput(object sender, InputLanguageChangedEventArgs e)
{
    int i = InputLanguage.InstalledInputLanguages.IndexOf(e.InputLanguage);
    if (i >= 0 && i < InputLanguage.InstalledInputLanguages.Count)
        comboBox1.SelectedIndex = i;
}
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved