C#软键盘设计字母数字按键处理相关事件函数

应用场景:便携式设备和检测设备等小型设备经常使用触摸屏来代替键盘鼠标的使用,因此在查询和输入界面的文本或者数字输入控件中使用软件盘来代替真正键盘的输入。

软键盘界面:软键盘界面实质上就是一个普通的窗体上面摆放了很多图片按钮,拖拉对应的文本、按钮等控件到设计界面即可、按键的命名遵循简单好记的规则。

字母键盘界面:26个字母按键的命名从btna-btnz。

字母按键处理代码如下:

            #region 字母按钮事件
            this.btna.Click += new System.EventHandler(this.btna_Click);
            this.btnb.Click += new System.EventHandler(this.btnb_Click);
            this.btnc.Click += new System.EventHandler(this.btnc_Click);
            this.btnd.Click += new System.EventHandler(this.btnd_Click);
            this.btne.Click += new System.EventHandler(this.btne_Click);
            this.btnf.Click += new System.EventHandler(this.btnf_Click);
            this.btng.Click += new System.EventHandler(this.btng_Click);
            this.btnh.Click += new System.EventHandler(this.btnh_Click);
            this.btni.Click += new System.EventHandler(this.btni_Click);
            this.btnj.Click += new System.EventHandler(this.btnj_Click);
            this.btnk.Click += new System.EventHandler(this.btnk_Click);
            this.btnl.Click += new System.EventHandler(this.btnl_Click);
            this.btnm.Click += new System.EventHandler(this.btnm_Click);
            this.btnn.Click += new System.EventHandler(this.btnn_Click);
            this.btno.Click += new System.EventHandler(this.btno_Click);
            this.btnp.Click += new System.EventHandler(this.btnp_Click);
            this.btnq.Click += new System.EventHandler(this.btnq_Click);
            this.btnr.Click += new System.EventHandler(this.btnr_Click);
            this.btns.Click += new System.EventHandler(this.btns_Click);
            this.btnt.Click += new System.EventHandler(this.btnt_Click);
            this.btnu.Click += new System.EventHandler(this.btnu_Click);
            this.btnv.Click += new System.EventHandler(this.btnv_Click);
            this.btnw.Click += new System.EventHandler(this.btnw_Click);
            this.btnx.Click += new System.EventHandler(this.btnx_Click);
            this.btny.Click += new System.EventHandler(this.btny_Click);
            this.btnz.Click += new System.EventHandler(this.btnz_Click);
            #endregion

对应的字母按钮点击事件处理代码


        #region 单个字符按钮点击事件

        #region 第一排字母按钮点击事件
        private void btnq_Click(object sender, EventArgs e)
        {
            if (!(Caps_Lock ^ ShiftFlag))
                txtResult.Text += "q";
            else
                txtResult.Text += "Q"; txtResult.Focus();
            //设置光标的位置到文本尾 
            txtResult.Select(txtResult.Text.Length, 0);
            //滚动到控件光标处 
            txtResult.ScrollToCaret();
        }

        private void btnw_Click(object sender, EventArgs e)
        {
            if (!(Caps_Lock ^ ShiftFlag))
                txtResult.Text += "w";
            else
                txtResult.Text += "W"; txtResult.Focus();
            //设置光标的位置到文本尾 
            txtResult.Select(txtResult.Text.Length, 0);
            //滚动到控件光标处 
            txtResult.ScrollToCaret();
        }

        private void btne_Click(object sender, EventArgs e)
        {
            if (!(Caps_Lock ^ ShiftFlag))
                txtResult.Text += "e";
            else
                txtResult.Text += "E"; txtResult.Focus();
            //设置光标的位置到文本尾 
            txtResult.Select(txtResult.Text.Length, 0);
            //滚动到控件光标处 
            txtResult.ScrollToCaret();
        }

        private void btnr_Click(object sender, EventArgs e)
        {
            if (!(Caps_Lock ^ ShiftFlag))
                txtResult.Text += "r";
            else
                txtResult.Text += "R"; txtResult.Focus();
            //设置光标的位置到文本尾 
            txtResult.Select(txtResult.Text.Length, 0);
            //滚动到控件光标处 
            txtResult.ScrollToCaret();
        }

        private void btnt_Click(object sender, EventArgs e)
        {
            if (!(Caps_Lock ^ ShiftFlag))
                txtResult.Text += "t";
            else
                txtResult.Text += "T"; txtResult.Focus();
            //设置光标的位置到文本尾 
            txtResult.Select(txtResult.Text.Length, 0);
            //滚动到控件光标处 
            txtResult.ScrollToCaret();
        }

        private void btny_Click(object sender, EventArgs e)
        {
            if (!(Caps_Lock ^ ShiftFlag))
                txtResult.Text += "y";
            else
                txtResult.Text += "Y"; txtResult.Focus();
            //设置光标的位置到文本尾 
            txtResult.Select(txtResult.Text.Length, 0);
            //滚动到控件光标处 
            txtResult.ScrollToCaret();
        }

        private void btnu_Click(object sender, EventArgs e)
        {
            if (!(Caps_Lock ^ ShiftFlag))
                txtResult.Text += "u";
            else
                txtResult.Text += "U"; txtResult.Focus();
            //设置光标的位置到文本尾 
            txtResult.Select(txtResult.Text.Length, 0);
            //滚动到控件光标处 
            txtResult.ScrollToCaret();
        }

        private void btni_Click(object sender, EventArgs e)
        {
            if (!(Caps_Lock ^ ShiftFlag))
                txtResult.Text += "i";
            else
                txtResult.Text += "I"; txtResult.Focus();
            //设置光标的位置到文本尾 
            txtResult.Select(txtResult.Text.Length, 0);
            //滚动到控件光标处 
            txtResult.ScrollToCaret();
        }

        private void btno_Click(object sender, EventArgs e)
        {
            if (!(Caps_Lock ^ ShiftFlag))
                txtResult.Text += "o";
            else
                txtResult.Text += "O"; txtResult.Focus();
            //设置光标的位置到文本尾 
            txtResult.Select(txtResult.Text.Length, 0);
            //滚动到控件光标处 
            txtResult.ScrollToCaret();
        }

        private void btnp_Click(object sender, EventArgs e)
        {
            if (!(Caps_Lock ^ ShiftFlag))
                txtResult.Text += "p";
            else
                txtResult.Text += "P"; txtResult.Focus();
            //设置光标的位置到文本尾 
            txtResult.Select(txtResult.Text.Length, 0);
            //滚动到控件光标处 
            txtResult.ScrollToCaret();
        }
        #endregion

        #region 第二排字母按钮点击事件
        private void btna_Click(object sender, EventArgs e)
        {
            if (InputType == "English")
            {
                txtResult.Text += this.btna.Text;
            }
            else if (InputType == "Char")
            {
                txtResult.Text += this.btna.Text;
            }
            else if (InputType == "Chinese")
            {
                lblPinyin.Text += this.btna.Text;
            }
            //设置光标的位置到文本尾 
            txtResult.Select(txtResult.Text.Length, 0);
            //滚动到控件光标处 
            txtResult.ScrollToCaret();
        }

        private void btns_Click(object sender, EventArgs e)
        {
            if (!(Caps_Lock ^ ShiftFlag))
                txtResult.Text += "s";
            else
                txtResult.Text += "S"; txtResult.Focus();
            //设置光标的位置到文本尾 
            txtResult.Select(txtResult.Text.Length, 0);
            //滚动到控件光标处 
            txtResult.ScrollToCaret();
        }

        private void btnd_Click(object sender, EventArgs e)
        {
            if (!(Caps_Lock ^ ShiftFlag))
                txtResult.Text += "d";
            else
                txtResult.Text += "D"; txtResult.Focus();
            //设置光标的位置到文本尾 
            txtResult.Select(txtResult.Text.Length, 0);
            //滚动到控件光标处 
            txtResult.ScrollToCaret();
        }

        private void btnf_Click(object sender, EventArgs e)
        {
            if (!(Caps_Lock ^ ShiftFlag))
                txtResult.Text += "f";
            else
                txtResult.Text += "F"; txtResult.Focus();
            //设置光标的位置到文本尾 
            txtResult.Select(txtResult.Text.Length, 0);
            //滚动到控件光标处 
            txtResult.ScrollToCaret();
        }

        private void btng_Click(object sender, EventArgs e)
        {
            if (!(Caps_Lock ^ ShiftFlag))
                txtResult.Text += "g";
            else
                txtResult.Text += "G"; txtResult.Focus();
            //设置光标的位置到文本尾 
            txtResult.Select(txtResult.Text.Length, 0);
            //滚动到控件光标处 
            txtResult.ScrollToCaret();
        }

        private void btnh_Click(object sender, EventArgs e)
        {
            if (!(Caps_Lock ^ ShiftFlag))
                txtResult.Text += "h";
            else
                txtResult.Text += "H"; txtResult.Focus();
            //设置光标的位置到文本尾 
            txtResult.Select(txtResult.Text.Length, 0);
            //滚动到控件光标处 
            txtResult.ScrollToCaret();
        }

        private void btnj_Click(object sender, EventArgs e)
        {
            if (!(Caps_Lock ^ ShiftFlag))
                txtResult.Text += "j";
            else
                txtResult.Text += "J"; txtResult.Focus();
            //设置光标的位置到文本尾 
            txtResult.Select(txtResult.Text.Length, 0);
            //滚动到控件光标处 
            txtResult.ScrollToCaret();
        }

        private void btnk_Click(object sender, EventArgs e)
        {
            if (!(Caps_Lock ^ ShiftFlag))
                txtResult.Text += "k";
            else
                txtResult.Text += "K"; txtResult.Focus();
            //设置光标的位置到文本尾 
            txtResult.Select(txtResult.Text.Length, 0);
            //滚动到控件光标处 
            txtResult.ScrollToCaret();
        }

        private void btnl_Click(object sender, EventArgs e)
        {
            if (!(Caps_Lock ^ ShiftFlag))
                txtResult.Text += "l";
            else
                txtResult.Text += "L"; txtResult.Focus();
            //设置光标的位置到文本尾 
            txtResult.Select(txtResult.Text.Length, 0);
            //滚动到控件光标处 
            txtResult.ScrollToCaret();
        }
        #endregion

        #region 第三排字母按钮点击事件
        private void btnz_Click(object sender, EventArgs e)
        {
            if (!(Caps_Lock ^ ShiftFlag))
                txtResult.Text += "z";
            else
                txtResult.Text += "Z"; txtResult.Focus();
            //设置光标的位置到文本尾 
            txtResult.Select(txtResult.Text.Length, 0);
            //滚动到控件光标处 
            txtResult.ScrollToCaret();
        }

        private void btnx_Click(object sender, EventArgs e)
        {
            if (!(Caps_Lock ^ ShiftFlag))
                txtResult.Text += "x";
            else
                txtResult.Text += "X"; txtResult.Focus();
            //设置光标的位置到文本尾 
            txtResult.Select(txtResult.Text.Length, 0);
            //滚动到控件光标处 
            txtResult.ScrollToCaret();
        }

        private void btnc_Click(object sender, EventArgs e)
        {
            if (!(Caps_Lock ^ ShiftFlag))
                txtResult.Text += "c";
            else
                txtResult.Text += "C"; txtResult.Focus();
            //设置光标的位置到文本尾 
            txtResult.Select(txtResult.Text.Length, 0);
            //滚动到控件光标处 
            txtResult.ScrollToCaret();
        }

        private void btnv_Click(object sender, EventArgs e)
        {
            if (!(Caps_Lock ^ ShiftFlag))
                txtResult.Text += "v";
            else
                txtResult.Text += "V"; txtResult.Focus();
            //设置光标的位置到文本尾 
            txtResult.Select(txtResult.Text.Length, 0);
            //滚动到控件光标处 
            txtResult.ScrollToCaret();
        }

        private void btnb_Click(object sender, EventArgs e)
        {
            if (!(Caps_Lock ^ ShiftFlag))
                txtResult.Text += "b";
            else
                txtResult.Text += "B"; txtResult.Focus();
            //设置光标的位置到文本尾 
            txtResult.Select(txtResult.Text.Length, 0);
            //滚动到控件光标处 
            txtResult.ScrollToCaret();
        }

        private void btnn_Click(object sender, EventArgs e)
        {
            if (!(Caps_Lock ^ ShiftFlag))
                txtResult.Text += "n";
            else
                txtResult.Text += "N"; txtResult.Focus();
            //设置光标的位置到文本尾 
            txtResult.Select(txtResult.Text.Length, 0);
            //滚动到控件光标处 
            txtResult.ScrollToCaret();
        }

        private void btnm_Click(object sender, EventArgs e)
        {
            if (!(Caps_Lock ^ ShiftFlag))
                txtResult.Text += "m";
            else
                txtResult.Text += "M"; txtResult.Focus();
            //设置光标的位置到文本尾 
            txtResult.Select(txtResult.Text.Length, 0);
            //滚动到控件光标处 
            txtResult.ScrollToCaret();
        }
        #endregion

        #endregion

 数字键盘界面:0-9数字按键命名分别是btn0-btn9

数字按钮点击事件绑定


            #region 数字按钮点击事件
            this.btn0.Click += new System.EventHandler(this.btn0_Click);
            this.btn1.Click += new System.EventHandler(this.btn1_Click);
            this.btn2.Click += new System.EventHandler(this.btn2_Click);
            this.btn3.Click += new System.EventHandler(this.btn3_Click);
            this.btn4.Click += new System.EventHandler(this.btn4_Click);
            this.btn5.Click += new System.EventHandler(this.btn5_Click);
            this.btn6.Click += new System.EventHandler(this.btn6_Click);
            this.btn7.Click += new System.EventHandler(this.btn7_Click);
            this.btn8.Click += new System.EventHandler(this.btn8_Click);
            this.btn9.Click += new System.EventHandler(this.btn9_Click);
            #endregion

数字按钮点击事件代码


        #region 数字键盘点击事件
        private void btn0_Click(object sender, EventArgs e)
        {
            txtResult.Text += "0";
            txtResult.Focus();
            //设置光标的位置到文本尾 
            txtResult.Select(txtResult.Text.Length, 0);
            //滚动到控件光标处 
            txtResult.ScrollToCaret();
        }

        private void btn1_Click(object sender, EventArgs e)
        {
            txtResult.Text += "1";
            txtResult.Focus();
            //设置光标的位置到文本尾
            txtResult.Select(txtResult.Text.Length, 0);
            //滚动到控件光标处
            txtResult.ScrollToCaret();
        }

        private void btn2_Click(object sender, EventArgs e)
        {
            txtResult.Text += "2";
            txtResult.Focus();
            //设置光标的位置到文本尾 
            txtResult.Select(txtResult.Text.Length, 0);
            //滚动到控件光标处 
            txtResult.ScrollToCaret();
        }

        private void btn3_Click(object sender, EventArgs e)
        {
            txtResult.Text += "3"; txtResult.Focus();
            //设置光标的位置到文本尾 
            txtResult.Select(txtResult.Text.Length, 0);
            //滚动到控件光标处 
            txtResult.ScrollToCaret();
        }

        private void btn4_Click(object sender, EventArgs e)
        {
            txtResult.Text += "4"; txtResult.Focus();
            //设置光标的位置到文本尾 
            txtResult.Select(txtResult.Text.Length, 0);
            //滚动到控件光标处 
            txtResult.ScrollToCaret();
        }

        private void btn5_Click(object sender, EventArgs e)
        {
            txtResult.Text += "5"; txtResult.Focus();
            //设置光标的位置到文本尾 
            txtResult.Select(txtResult.Text.Length, 0);
            //滚动到控件光标处 
            txtResult.ScrollToCaret();
        }

        private void btn6_Click(object sender, EventArgs e)
        {
            txtResult.Text += "6"; txtResult.Focus();
            //设置光标的位置到文本尾 
            txtResult.Select(txtResult.Text.Length, 0);
            //滚动到控件光标处 
            txtResult.ScrollToCaret();
        }

        private void btn7_Click(object sender, EventArgs e)
        {
            txtResult.Text += "7"; txtResult.Focus();
            //设置光标的位置到文本尾 
            txtResult.Select(txtResult.Text.Length, 0);
            //滚动到控件光标处 
            txtResult.ScrollToCaret();
        }

        private void btn8_Click(object sender, EventArgs e)
        {
            txtResult.Text += "8"; txtResult.Focus();
            //设置光标的位置到文本尾 
            txtResult.Select(txtResult.Text.Length, 0);
            //滚动到控件光标处 
            txtResult.ScrollToCaret();
        }

        private void btn9_Click(object sender, EventArgs e)
        {
            txtResult.Text += "9"; txtResult.Focus();
            //设置光标的位置到文本尾 
            txtResult.Select(txtResult.Text.Length, 0);
            //滚动到控件光标处 
            txtResult.ScrollToCaret();
        }
        #endregion

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/882358.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

二叉树---java---黑马

二叉树 遍历 遍历分两种 广度优先遍历 尽可能先访问距离根节点最近的节点,也称之为层序遍历。 深度优先遍历 对于二叉树,进一步分为三种 pre-order前序遍历,对于每一颗子树,先访问该节点,然后是左子树&#xf…

探索RESTful风格的网络请求:构建高效、可维护的API接口【后端 20】

探索RESTful风格的网络请求:构建高效、可维护的API接口 在当今的软件开发领域,RESTful(Representational State Transfer)风格的网络请求已经成为构建Web服务和API接口的标配。RESTful风格以其简洁、无状态、可缓存以及分层系统等…

利用影刀实现批量发布文章的RPA流程(附视频演示)

前言 大家好,我是小智。在这篇文章中,我将分享一个实战案例,展示如何利用影刀实现批量发布文章的RPA流程。这里主要介绍其中一个简单步骤,其它步骤将通过视频演示。有使用方面的疑问可以留言。 影刀是一款强大的自动化工具&#x…

Java项目实战II基于Java+Spring Boot+MySQL的网上租贸系统设计与实现(开发文档+源码+数据库)

目录 一、前言 二、技术介绍 三、系统实现 四、论文参考 五、核心代码 六、源码获取 全栈码农以及毕业设计实战开发,CSDN平台Java领域新星创作者,专注于大学生项目实战开发、讲解和毕业答疑辅导。获取源码联系方式请查看文末 一、前言 "随着…

简单的云存储靶场

搭建靶场 我这里使用tx云,请自行搭建 https://shuihui2211-1329809954.cos.ap-nanjing.myqcloud.com 复现 私有读写 访问权限为私有读写时,我们访问url则会出现如下提示 目录遍历 漏洞成因 将policy权限设置为所有操作时 复现 我这里上传了一…

java-----异常

目录 异常:代表程序出现的问题 运行时异常和编译时异常的区别? 异常的作用: 异常的处理方式: 异常中常见的方法: 抛出异常: 自定义异常: 异常:代表程序出现的问题 Exception:叫做异常,代表程序可能出现的问题。…

Python 连接mysql数据库,并且执行查询

之前一直在写Java,但是随着python的崛起,自己也被慢慢的带入到了这样的一个阵营,学习python,了解机器学习 曾经有一个.... 不谈曾经,现在的我是一个小菜鸟,用学习Java实现业务的需求来学习python 项目的目…

科研绘图系列:R语言树结构聚类热图(cluster heatmap)

文章目录 介绍加载R包导入数据数据预处理画图修改图形导出数据系统信息介绍 热图结合树结构展示聚类结果通常用于展示数据集中的模式和关系,这种图形被称为聚类热图或层次聚类热图。在这种图中,热图部分显示了数据矩阵的颜色编码值,而树结构(通常称为树状图或聚类树)则显…

iptables限制网速

1、使用hashlimit来限速 #从eth0网卡进入INPUT链数据,使用模块hashlimit 限制网速为100kb/s或2mb/s,超过限制的数据包会被DROP。OUTPUT链同理,mode为srcip,有4个mode选项: srcip(默认匹配每个源地址IP,配置指定源地址…

计算机网络33——文件系统

1、chmod 2、chown 需要有root权限 3、link 链接 4、unlink 创建临时文件,用于非正常退出 5、vi vi可以打开文件夹 ../是向外一个文件夹 6、ls ls 可以加很多路径,路径可以是文件夹,也可以是文件 ---------------------------------…

Tcping:一款实用的端口存活检测工具

简介 tcping 是一个基于TCP协议的网络诊断工具,通过发送 TCP SYN/ACK包来检测目标主机的端口状态。 官网:tcping.exe - ping over a tcp connection 优点: (1)监听服务器端口状态:tcping 可以检测指定端口的状态,默认是80端口,也可以指定其他端口。 (2)显示ping返…

桌面便签哪个好用?好用的便签软件推荐?

随着信息技术的发展,我们的生活方式也发生了翻天覆地的变化。从纸质笔记本到电子便签,这不仅仅是载体的转换,更是思维习惯的一次革新。在这个数字时代,如何利用科技工具来辅助我们更好地管理时间和信息,成为了值得探讨…

Java刷题知识总结(一)

1.局部变量参与运算前是必须要初始化的,比如下面的代码就会编译出错,提示y必须要初始化。 public static void main(String[] args) {int x 1;int y;int z x y; } 2.ArrayList和Vector主要区别是什么? A Vector与ArrayList一样&#xf…

计算机毕业设计 扶贫助农系统的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍:✌从事软件开发10年之余,专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ 🍅文末获取源码联系🍅 👇🏻 精…

记一次Apache点击startup立马闪退的修复

人们总是在靠近幸福时患得患失 --生菜特斯拉 这两天频繁在各个虚拟机中使用apache搭建服务,但是时而会出现点击startup.bat启动脚本后立马出现闪退,所以记录一下。 一、环境复现 实验器材 1、win10虚拟机 2、apache项目 3、JDK(1.8&am…

Linux高级I/O:多路转接模型

目录 一.常见的IO模型介绍二.多路转接I/O1.select1.1.函数解析1.2. select特点和缺点1.3.基于 select 的多客户端网络服务器 2.poll2.1.poll函数解析2.2.poll特点和缺点2.3.基于poll的tcp服务器 3.epoll3.1.系列函数解析3.2.epoll原理解析2.3.基于 select 的多客户端网络服务器…

Java 入门指南:JVM(Java虚拟机)—— Java 类加载器详解

类加载器 类加载器(Class Loader)是 Java 虚拟机(JVM)的一部分,它的作用是将类的字节码文件(.class 文件)从磁盘或其他来源加载到 JVM 中。类加载器负责查找和加载类的字节码文件,并…

BEV学习--Nuscenes数据集解读

一、Nuscenes数据集简介 Nuscenes数据的采集来自不同城市的1000个场景中,采集车上配备了完善的传感器,包括6个相机(CAM)、1个激光雷达(LIDAR)、5个毫米波雷达(RADAR)、IMU和GPS&…

论文(六):Fire-Net: A Deep Learning Framework for Active Forest Fire Detection

文章目录 1.Introduction2.Study Area2.1Landsat-8 Dataset2.2Inventory data 3.Methodology3.1Image Pre-processing3.2Proposed Deep Learning Architecture (Fire-Net)3.2.1Convolution Layers3.2.2 Evaluation Indices/methods or accuracy assessment. 4.Results4.1 Austr…

新一代图像生成E2E FT:深度图微调突破

文章地址:Fine-Tuning Image-Conditional Diffusion Models is Easier than You Think 项目主页:https://gonzalomartingarcia.github.io/diffusion-e2e-ft/ 代码地址:https://github.com/VisualComputingInstitute/diffusion-e2e-ft 机构&am…