C#中使用输入法

问题描述

目前我的页面中有textBox1,button1,button2代码部分为:namespaceProgram{publicpartialclassForm1:Form{[DllImport("user32",EntryPoint="FindWindow",SetLastError=false,CharSet=CharSet.Auto,ExactSpelling=false,CallingConvention=CallingConvention.StdCall)]publicstaticexternintFindWindow(stringIpClassName,stringIpWindowName);[DllImport("user32",EntryPoint="SetForegroundWindow",SetLastError=false,CharSet=CharSet.Auto,ExactSpelling=false,CallingConvention=CallingConvention.StdCall)]publicstaticexternintSetForegroundWindow(IntPtrhWnd);publicForm1(){InitializeComponent();}privatevoidForm1_Load(objectsender,EventArgse){}privatevoidbutton1_Click(objectsender,EventArgse){ProcessProcess=newProcess();Process.Start("C:\WINDOWS\system32\OSK.exe");}privatevoidbutton2_Click(objectsender,EventArgse){IntPtrhwnd=(IntPtr)FindWindow(null,"123.txt-记事本");SetForegroundWindow(hwnd);SendKeys.Send("先用和FindWindow这个WindowsAPI函数找到你要打字的窗体,让后用SetForegroundWindow激活这个窗体,"+"让后调用SendKeys.send直接发送字符串就行了,给你举个例子吧:nr"+"先在桌面新建一个文本文件,命名为:123.txt,然后双击打开123.txt然后运行本程序,单击button1"+"效果不错吧,是你想要的吧,O(∩_∩)O哈!");}}}目前button1在打开系统软键盘的时,只能在textbox1中输入英文,无法直接输入中文。而button2的功能是对记事本输入内容,不符合我的意图。我是想在打开软键盘的情况下,直接可以对文本框输入任意的中文,请各位大虾帮忙解决

解决方案

解决方案二:
其实你可以对文本框输入的字符校验,判断是否输入中文,否则不能输入,判断中文的方法:1.protectedboolIsChineseLetter(stringinput,intindex)2.{3.intcode=0;4.intchfrom=Convert.ToInt32("4e00",16);//范围(0x4e00~0x9fff)转换成int(chfrom~chend)5.intchend=Convert.ToInt32("9fff",16);6.if(input!="")7.{8.code=Char.ConvertToUtf32(input,index);//获得字符串input中指定索引index处字符unicode编码9.10.if(code>=chfrom&&code<=chend)11.{12.returntrue;//当code在中文范围内返回true13.}14.else15.{16.returnfalse;//当code不在中文范围内返回false17.}18.}19.returnfalse;20.}21.方法二:22.publicboolIsChina(stringCString)23.{24.boolBoolValue=false;25.for(inti=0;i<CString.Length;i++)26.{27.if(Convert.ToInt32(Convert.ToChar(CString.Substring(i,1)))<Convert.ToInt32(Convert.ToChar(128)))28.{29.BoolValue=false;30.}31.else32.{33.returnBoolValue=true;34.}35.}36.returnBoolValue;37.}

解决方案三:

解决方案四:
问题是:我现在只是打开了软键盘,无法打出中文啊,只能打英文,在输入法那边怎么控制呢?
解决方案五:
用Windows系统带的屏幕键盘向窗体文本框输入中文没有问题啊
解决方案六:
那是你输入法的问题吧

时间: 2025-01-27 05:13:05

C#中使用输入法的相关文章

Word 2010中各种输入法消失了的解决办法

Word2010中搜狗拼音输入法(各种输入法都会消失)消失了 ,现象就是怎么按快捷键,一直都是英文状态. 原因:是我在安装搜狗时,把输入法的中文美式键盘给删了 解决方法:把输入法的中文美式键盘给删了,加回去就好了. 返回栏目页:http://www.bianceng.cnhttp://www.bianceng.cn/Office/word/

win8系统中的输入法图标突然消失了怎么办?

  只要涉及到打字,咱们都需要使用到输入法,但是在咱们Windows系统中却不止一个输入法,也就是说,也许在很多情况下,咱们都需要对当前的输入法进行切换,有的界面可能只需要切换一次,但是有的界面就可能需要切换两次了,咱们只需要查看一下输入法显示的图标就可以知道目前的输入法状态了.但是最近,却有使用win8系统的用户表示,自己win8电脑中的输入法总是会不时的消失,让自己的操作受到严重的影响,那么出现这样的情况,咱们要如何解决呢?下面,小编就来详细的介绍一下吧! 1.首先,咱们需要返回到win8系

win7电脑下方任务栏中的输入法图标不见了怎么办?

  操作电脑就必须要涉及到打字,打字是咱们操作电脑中必不可少的一个部分,每个人都有自己比较习惯的输入法,但是win7旗舰版中自带的输入法程序很多,所以咱们在日常的操作中就需要切换输入法,但是有的朋友反映,有的时候,电脑下方任务栏中的输入法图标会无法显示出来,让用户在切换输入法的时候没有了目标,很让人不习惯,那么图标不见了,咱们怎样才能找回来呢? 经分析,出现这样的情况是因为软件之间的冲突造成的,最简单的处理方法便是重启电脑,如果重启电脑还是无法解决的话,大家就可以试试下面的方法了: 1.点击菜单

Word2010中搜狗拼音输入法(各种输入法)消失了的解决办法

        Word2010中搜狗拼音输入法(各种输入法都会消失)消失了 ,现象就是怎么按快捷键,一直都是英文状态.         原因:是我在安装搜狗时,把输入法的中文美式键盘给删了        解决方法:把输入法的中文美式键盘给删了,加回去就好了.

在C#应用程序中控制输入法(转)

在C#应用程序中控制输入法 在Windows系统一般都安装了至少三种输入法,在输入数据时常常会切换输入法,虽然Windows系统提供了切换快捷健,但对输入工作还是带来了不少麻烦.如果在应用程序中为用户提供智能输入法自动切换,那么这样的应用程序就显得更加专业.更加具有竞争力.不知你可用过Access,在表数据输入时Access自动切换输入法,很酷吧,现在你也可以实现这一切.如果也想你的程式也酷一下的话,请继续... 为了控制输入法,.NET类库在System.Windows.Forms.Input

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

程序|控制 在Windows系统一般都安装了至少三种输入法,在输入数据时常常会切换输入法,虽然Windows系统提供了切换快捷健,但对输入工作还是带来了不少麻烦.如果在应用程序中为用户提供智能输入法自动切换,那么这样的应用程序就显得更加专业.更加具有竞争力.不知你可用过Access,在表数据输入时Access自动切换输入法,很酷吧,现在你也可以实现这一切.如果也想你的程式也酷一下的话,请继续... 为了控制输入法,.NET类库在System.Windows.Forms.InputLanguage

如何让Word中默认输入法切换为英文

问题:用户打开Word文档时,输入法自动切换成中文的方式,而用户需要输入的是英文,因此非常不方便. 原因:Word中输入法自动切换的问题 解决方法:工具→选项→编辑→输入法控制处于活动状态 (去掉前面的勾) 如图: 查看本栏目更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/Office/word/

如何在Word 2013中取消输入法的活动状态

在Word2013文档中,如果启用"输入法控制处于活动状态"功能,则在打开Word2013文档窗口时会自动启动微软拼音输入法.用户可以取消"输入法控制处于活动状态"功能,使Word2013的默认输入法为英文,操作步骤如下所述: 第1步,打开Word2013文档窗口,依次单击"文件"→"选项"按钮,如图2013072410所示. 图2013072410 单击"选项"按钮 第2步,打开"Word选项&

Word 2010中取消输入法控制处于活动状态

在Word 2010文档中,如果启用"输入法控制处于活动状态"功能,则在打开Word 2010文档窗口时会自动启动微软拼音输入法.用户可以取消"输入法控制处于活动状态"功能,使Word 2010的默认输入法为英文,操作步骤如下所述: 第1步,打开Word 2010文档窗口,依次单击"文件"→"选项"按钮,如图2012010703所示. 图2012010703 单击"选项"按钮 第2步,打开"Wor

Word 2007中取消输入法控制处于活动状态

在Word2007文档中,如果启用"输入法控制处于活动状态"功能,则在打开Word2007文档窗口时会自动启动微软拼音输入法.用户可以取消"输入法控制处于活动状态"功能,使Word2007的默认输入法为英文,操作步骤如下所述: 第1步,打开Word2007文档窗口,依次单击"Office按钮"→"Word选项"按钮,如图2012040406所示. 图2012040406 单击"Word选项"按钮 第2步,打