请问如何把焦点定位到文本框的时候,把保持原来系统的输入法设置,或者指定为中文输入法

gunziyang 2013-07-04 08:36:16
比如说,在Word里已经是中文输入法了,现在把焦点移到程序里的文本框,输入法一般会变成英文输入法,如何使这时的输入法保持为原来的输入法,或者指定为某一种特定的输入法?

谢谢!
...全文
521 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
gunziyang 2013-07-05
  • 打赏
  • 举报
回复
引用 7 楼 Benjay77 的回复:
我就是默认的英文输入切成搜狗的 中文 没出现过你这种情况啊
那这个就不好说了,不过还是谢谢您了,已经解决了大部分问题了,分都给您了
gunziyang 2013-07-04
  • 打赏
  • 举报
回复
引用 3 楼 u011130289 的回复:
设置默认的输入法为中文输入吧!
如果设置默认输入法为英文的话,那就不用编程了,直接鼠标点进去就是中文输入了。。。
Benjay77 2013-07-04
  • 打赏
  • 举报
回复
引用 2 楼 gunziyang 的回复:
[quote=引用 1 楼 Benjay77 的回复:]

private void SetCurrentLanguage()
        {
            InputLanguageCollection collects = InputLanguage.InstalledInputLanguages;
            string currentlanguage = InputLanguage.CurrentInputLanguage.LayoutName;
            if (currentlanguage == "简体中文 - 美式键盘")
            {
                for (int i = 0; i < collects.Count; i++)
                {
                    if (collects[i].LayoutName != currentlanguage)
                    {
                        InputLanguage.CurrentInputLanguage = collects[i];
                        break;
                    }
                }
            }
        }
把简体中文-美式键盘换成你要的输入法就好了
谢谢您的回答,我试了一下,有一个问题,如果原来是美式键盘,那么点击文本框之后,会变成搜狗输入法的英文输入,要按以下Shift键才能切换到中文输入,怎么解决这个问题呢?具体代码如下:
 private void setCurrentLanguage()
        {
            // 一般InputLanguage的CurrentInputLanguage和DefaultInputLanguage属性都是“美式键盘”
            InputLanguageCollection collects = InputLanguage.InstalledInputLanguages;
            foreach (InputLanguage myInputLanguage in collects)
            {
                if (myInputLanguage.LayoutName == "中文 (简体) - 搜狗拼音输入法")
                {
                    InputLanguage.CurrentInputLanguage = myInputLanguage;
                    break;
                }
            }
[/quote] 刚用我的代码试了下 没问题啊
Regan-lin 2013-07-04
  • 打赏
  • 举报
回复
引用 2 楼 gunziyang 的回复:
[quote=引用 1 楼 Benjay77 的回复:]

private void SetCurrentLanguage()
        {
            InputLanguageCollection collects = InputLanguage.InstalledInputLanguages;
            string currentlanguage = InputLanguage.CurrentInputLanguage.LayoutName;
            if (currentlanguage == "简体中文 - 美式键盘")
            {
                for (int i = 0; i < collects.Count; i++)
                {
                    if (collects[i].LayoutName != currentlanguage)
                    {
                        InputLanguage.CurrentInputLanguage = collects[i];
                        break;
                    }
                }
            }
        }
把简体中文-美式键盘换成你要的输入法就好了
谢谢您的回答,我试了一下,有一个问题,如果原来是美式键盘,那么点击文本框之后,会变成搜狗输入法的英文输入,要按以下Shift键才能切换到中文输入,怎么解决这个问题呢?具体代码如下:
 private void setCurrentLanguage()
        {
            // 一般InputLanguage的CurrentInputLanguage和DefaultInputLanguage属性都是“美式键盘”
            InputLanguageCollection collects = InputLanguage.InstalledInputLanguages;
            foreach (InputLanguage myInputLanguage in collects)
            {
                if (myInputLanguage.LayoutName == "中文 (简体) - 搜狗拼音输入法")
                {
                    InputLanguage.CurrentInputLanguage = myInputLanguage;
                    break;
                }
            }
[/quote] 设置默认的输入法为中文输入吧!
gunziyang 2013-07-04
  • 打赏
  • 举报
回复
引用 1 楼 Benjay77 的回复:

private void SetCurrentLanguage()
        {
            InputLanguageCollection collects = InputLanguage.InstalledInputLanguages;
            string currentlanguage = InputLanguage.CurrentInputLanguage.LayoutName;
            if (currentlanguage == "简体中文 - 美式键盘")
            {
                for (int i = 0; i < collects.Count; i++)
                {
                    if (collects[i].LayoutName != currentlanguage)
                    {
                        InputLanguage.CurrentInputLanguage = collects[i];
                        break;
                    }
                }
            }
        }
把简体中文-美式键盘换成你要的输入法就好了
谢谢您的回答,我试了一下,有一个问题,如果原来是美式键盘,那么点击文本框之后,会变成搜狗输入法的英文输入,要按以下Shift键才能切换到中文输入,怎么解决这个问题呢?具体代码如下:
 private void setCurrentLanguage()
        {
            // 一般InputLanguage的CurrentInputLanguage和DefaultInputLanguage属性都是“美式键盘”
            InputLanguageCollection collects = InputLanguage.InstalledInputLanguages;
            foreach (InputLanguage myInputLanguage in collects)
            {
                if (myInputLanguage.LayoutName == "中文 (简体) - 搜狗拼音输入法")
                {
                    InputLanguage.CurrentInputLanguage = myInputLanguage;
                    break;
                }
            }
Benjay77 2013-07-04
  • 打赏
  • 举报
回复

private void SetCurrentLanguage()
        {
            InputLanguageCollection collects = InputLanguage.InstalledInputLanguages;
            string currentlanguage = InputLanguage.CurrentInputLanguage.LayoutName;
            if (currentlanguage == "简体中文 - 美式键盘")
            {
                for (int i = 0; i < collects.Count; i++)
                {
                    if (collects[i].LayoutName != currentlanguage)
                    {
                        InputLanguage.CurrentInputLanguage = collects[i];
                        break;
                    }
                }
            }
        }
把简体中文-美式键盘换成你要的输入法就好了
Benjay77 2013-07-04
  • 打赏
  • 举报
回复
引用 6 楼 gunziyang 的回复:
[quote=引用 4 楼 Benjay77 的回复:] 刚用我的代码试了下 没问题啊
您的代码可以切换到搜狗输入法没问题,但是如果原来是英文输入法的话,切换到的就是搜狗输入法的英文输入模式,而不是中文输入模式,需要按以下Shfit键才能切换到中文输入模式[/quote] 我就是默认的英文输入切成搜狗的 中文 没出现过你这种情况啊
gunziyang 2013-07-04
  • 打赏
  • 举报
回复
引用 4 楼 Benjay77 的回复:
刚用我的代码试了下 没问题啊
您的代码可以切换到搜狗输入法没问题,但是如果原来是英文输入法的话,切换到的就是搜狗输入法的英文输入模式,而不是中文输入模式,需要按以下Shfit键才能切换到中文输入模式

111,075

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧