在C#应用程序控制输入法

来源:互联网 发布:开放社会基金会 知乎 编辑:程序博客网 时间:2024/06/05 15:29

 Windows操作系统中至少有3种以上输入法,那么在行业系统管理软件中,输入数据时长城会切换输入法,虽然Windows系统提供了切换快捷键,但对输入工作还是代理不少麻烦。如果在应用程序中为用户提供智能输入法自动切换,那么这样的应用程序就更加专业、更加智能化。例如,在Access数据中,在输入表数据时Access自动切换输入法。

 为了控制输入法,.NET类库在System.Windows.Forms.InputLanguage类中提供了支持。下面介绍InputLanguage类的方法和熟悉实现输入法管理功能。

获得或设置当前线程的输入法,代码如下:

Public static InputLanguageCurrentInputLanguage{get;set;}

获得默认输入法,代码如下:

Public static InputLanguageDefaultInputLanguage{get;}

获得系统输入法集,可以通过这个容器对象列举系统当前安装的输入法列表,代码如下:

Public static InputLanguageCollectionInstalledInputLanguages{get;}

获得输入法在系统托盘中的注册名称,代码如下:

Public string LayoutName{get;}

Windows操作系统中索引输入法添加到ComboBox控件中,代码如下:

Private void button5_Click(object sender,EventArgse)

{

   InputLanguageCollectionilc=InputLanguage.InstalledInputLanguages;

   Foreach(InputLanguageil in ilc)

   {

       comboBox1.Items.Add(il.LayoutName);

   }

   comboBox1.SelectedIndex=InputLanguage.InstalledInputLanguages.IndexOf(InputLanguage.CurrentInputLanguage);

}

ComboBox控件中选择一种输入法后,通过如下代码可以实现输入法切换功能:

Private void button6_Click(object sender,EventArgse)

{

   InputLanguage il=InputLanguage.InstalledInputLanguages[comboBox1.SelectedIndex];

   InputLanguage.CurrentInputLanguage=il;

}