none
winform开发的程序textbox在平板上不会弹出虚拟键盘! RRS feed

  • 问题

  • 如题,点击texbox时不会弹出虚拟键盘,但是如果设置了passwordchar就可以自动弹出键盘,点击combobox也可以自动弹出键盘,有没有大神遇到过这种问题,如果解决?!
    2017年9月8日 1:43

全部回复

  • Hi,

    感谢你在MSDN论坛发帖。

    据我所知,这个passwordchar属性,应该不是弹出键盘的功能吧,它是设置一个符号来遮挡你输入的字符的,就如输入密码一样,我们用*来 代替的。

    我测过过在windows 10上面,是不会自动弹出键盘的。 我觉得你应该添加了一个点击事件在conbobox 和textbox控件上面,然后在事件处理函数中显示了虚拟键盘。

    Best Regards,

    Hart


    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    2017年9月8日 5:50
    版主
  • 首先感谢您的回答,我也知道设置passwordchar属性理论上应该跟我遇到的问题没有关系,但我的程序的两个分别是用户名和密码的文框 其中密码框就可以弹出键盘,用户名就不可以,我在google也上发现有人遇到这个问题,但是都没有我要的答案

    还有您测试的的环境是window平板吗?如果是平板还需要 设置-设备-输入 把最下面那个开关打开

    2017年9月8日 6:25
  • @Daniel,

    我在我平板上也会偶尔发现这样的问题的。虚拟键盘的弹出是内部去检测focus然后去自动弹出的,我们的app里面好像没有很直接的办法去知道什么时候这个异常行为会出发。

    SO帖子上倒是有一些代码相关的解决方案,你可以尝试一下:

    https://stackoverflow.com/questions/36179917/automatically-pop-up-tablet-touch-keyboard-on-winforms-input-focus

    比如直接去调用虚拟键盘的exe,再比如调用UI自动化的dll去给winform的控件添加自动化的属性。

    另外我不确定的是不同平板会不会还有区别,我这只有个surface windows 8 Pro的平板,现在用的是Win10系统。所以推荐的话我觉得你可以试试强制调用下虚拟键盘,或者改下控件属性。

    Best regards,

    Barry


    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    2017年9月11日 9:19
    版主