首页 新闻 搜索 专区 学院

win7屏幕键盘是否可以修改样式

0
悬赏园豆:30 [已解决问题] 解决于 2020-08-18 10:54

c/s项目中调用第三方接口,输入密码。因为是触摸屏,点击文本框呼出屏幕键盘,但win7自带的屏幕键盘实属僵硬,数字键有点小。更想换成大一点的纯数字键盘。大家有什么可以更换这个屏幕键盘的方法吗。我试过自己做一个键盘,但因为文本框是第三方的,点击自己做的键盘的话,文本框光标会消失,就输入不了。希望大家能出个方案~

CodePanda的主页 CodePanda | 初学一级 | 园豆:109
提问于:2020-08-18 09:07
< >
分享
最佳答案
0
收获园豆:30
会长 | 大侠五级 |园豆:9552 | 2020-08-18 09:19

是用winform做了一个这样的小键盘,但问题是哪个文本框是第三方的,控制不了光标焦点。我一点击自制键盘,文本框就失去了光标,就输不进去东西

CodePanda | 园豆:109 (初学一级) | 2020-08-18 09:26

@CodePanda: 等我试试

会长 | 园豆:9552 (大侠五级) | 2020-08-18 09:40

我试了可以啊,我可以用这个在记事本里输入

using System;
using System.Windows.Forms;

namespace WindowsFormsApp2
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        protected override CreateParams CreateParams
        {
            get
            {
                CreateParams cp = base.CreateParams;
                cp.ExStyle |= (int)0x08000000L;
                return cp;
            }
        }

        private void button1_Click(object sender, EventArgs e)
        {
            SendKeys.Send("A");
        }
    }
}

会长 | 园豆:9552 (大侠五级) | 2020-08-18 09:57

@会长: 好的我也试试

CodePanda | 园豆:109 (初学一级) | 2020-08-18 10:22

protected override CreateParams CreateParams
{
get
{
CreateParams cp = base.CreateParams;
cp.ExStyle |= (int)0x08000000L;
return cp;
}
}
加了这串代码就行了,谢谢~

CodePanda | 园豆:109 (初学一级) | 2020-08-18 10:39

@CodePanda: 赞

会长 | 园豆:9552 (大侠五级) | 2020-08-18 10:56
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册