C#自己编写软键盘

本文介绍如何在C#项目中创建一个自定义的数字软键盘,适用于触摸屏环境,仅显示数字输入,避免使用操作系统自带软键盘的不便。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

       最近的一个项目需要在工控机上完成,触摸屏,包括键盘输入。此时需要一个软键盘,只完成数字的输入就可以,但是操作系统自带的软键盘是包含非数字内容,且占用面积大。因此需要自己写一个软键盘的程序,在有数字输入的时候调用显示即可。

一、添加控件DotNetBar

       在vs中,工具箱右键->选择项->浏览dotnetbar的dll 加载进来 ,工具箱里面就有dotnetbar 的控件了。在Form中拖入控件keyboardControl。

二、用代码添加软键盘的按键

       public Form1()
        {
            InitializeComponent();
            keyboardControl1.Keyboard = CreateNumericKeyboard();
            keyboardControl1.Invalidate();
            keyboardControl1.Renderer = new ThreeDRenderer();
        }
        private Keyboard CreateNumericKeyboard()
        {
            Keyboard keyboard = new Keyboard();
           
             LinearKeyboardLayout klNumLockOn = new LinearKeyboardLayout();
            klNumLockOn.AddKey("1");
            klNumLockOn.AddKey("2");
            klNumLockOn.AddKey("3");
            klNumLockOn.AddKey("4");
            klNumLockOn.AddKey("5");
            klNumLockOn.AddKey("6");
            klNumLockOn.AddKey("7");
            klNumLockOn.AddKey("8");
            klNumLockOn.AddKey("9");
            klNumLockOn.AddKey("0");
            klNumLockOn.AddKey(".");
            klNumLockOn.AddKey("←", info: "{BACKSPACE}", width: 21);
            keyboard.Layouts.Add(klNumLockOn);
            return keyboard;
        }
三、将键盘设置为浮动工具条窗体,不抢占焦点
        private const int WS_EX_TOOLWINDOW = 0x00000080;
        private const int WS_EX_NOACTIVATE = 0x08000000;
       
&n
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值