有啊,直接调用键盘API截获键盘的输入,然后把它追加进文本框里
不过这样问题很多,你需要判断按下的是不是ctrl,alt,shift,F1-F12,tab,回车,ESC.......
而且人家要输入中文,你给人家把拼音弄进去了,这样好吗?

解决方案 »

  1.   

    在做的项目画面上很多TextBox,开启输入法的情况下鼠标在不同TextBox间切换输入的内容也跟着走。
    现在不让这样,要求每个TextBox失去焦点的时候就强制把内容给输入了,或者清空也行。
    所以就想有没办法强制结束输入了。
      

  2.   

    可以调用键盘API模拟输入个空格或者回车什么的
      

  3.   

    而且内容跟着走有什么不好吗
    比如我本来没想切换的,不小心点到别的文本框里去了,我还可以再点回来,并且刚才输入的文字不丢失
    或者我本来应该先按下tab,然后输入的,结果tab没有按就直接输入文字了,我可以鼠标点到其他文本框,然后输入的文字不丢失为了某几个奇葩用户的奇葩需求而增加这样一个限制输入的功能,真的好吗
      

  4.   

    要么干脆软件启动就自动卸载google输入法,让用户只能使用焦点切换文字就自动消失的输入法
      

  5.   

    我记得TextBox(.NET WinForm)控件有一个叫"ImeMode"的属性。应该是可以强制关闭输入法的。
      

  6.   

    因为是产品中的一个设计方案,其中还涉及到在Grid中的输入操作,写代码的人很难去变动需求了。试过在LostFocus中模拟{Enter}键的输入,没有达到预期的效果,可能是因为焦点已不在TextBox。继续研究下IMM相关的API