C#技巧之窗体去鼠标化

news/2024/10/19 7:29:36/

简介

在窗体程序中不用鼠标,直接使用键盘完成想要的操作。

实现的方法有两种,一种是使用键盘上的Tab键使控件获得焦点,然后用enter键触发该控件上的事件(一般为click事件)。另一种是,为控件添加快捷键,通过按下快捷键,实现触发控件事件的效果。


流程

  1. 创建一个窗体Form1;
  2. 创建三个按钮,分别为button1,button2,button3,将其TabStop属性设为ture,这样一来,三个按钮就可以通过Tab键获得焦点。
  3. 将三个按钮的TabIndex属性分别设为0,1,2,表示按下tab键后,焦点先放到button1上,再按一次,焦点转移到button2···如此类推。
  4. 将三个按钮的UseMnemonic属性设为ture,表示可以使用&加字母来为按钮的name进行命名,然后运行时,按下对应的字母,可以直接触发按钮的Click事件,三个按钮分别命名为&A按钮1,&S按钮2,&D按钮3。
 public Form1(){InitializeComponent();button1.TabStop = true;button2.TabStop = true;button3.TabStop = true;button1.TabIndex = 0;button2.TabIndex = 1;button3.TabIndex = 2;button1.UseMnemonic = true;button2.UseMnemonic = true;button3.UseMnemonic = true;}private void button1_Click(object sender, EventArgs e){MessageBox.Show("按下了按钮1");}private void button2_Click(object sender, EventArgs e){MessageBox.Show("按下了按钮2");}private void button3_Click(object sender, EventArgs e){MessageBox.Show("按下了按钮3");}

界面

当按键周围有个蓝色框,表示获得焦点,这时,只要按下enter键,就能触发该键的事件。或者按下键盘上的A键,也会有同样效果。


http://www.ppmy.cn/news/1448279.html

相关文章

LM193、LM293、LM293A、LM393、LM393A和LM2903

这份文件是德州仪器(Texas Instruments Incorporated)关于其电压比较器产品系列的数据手册,具体型号包括LM193、LM293、LM293A、LM393、LM393A和LM2903。以下是该文件的核心内容概要: 产品描述: 这些设备包含两个独立的…

QT5之windowswidget_菜单栏+工具栏_核心控件_浮动窗口_模态对话框_标准对话框/文本对话框

菜单栏工具栏 新建工程基类是QMainWindow 1、 2、 3、 点.pro文件&#xff0c;添加配置 因为之后用到lambda&#xff1b; 在.pro文件添加配置c11 CONFIG c11 #不能加分号 添加头文件 #include <QMenuBar>//菜单栏的头文件 主窗口代码mainwindow.cpp文件 #include &q…

一文解决ArcGIS生成点和管段 含案例讲解

背景 在工作中&#xff0c;我们经常遇到要将坐标数据导入 GIS&#xff0c;生成点位&#xff0c;若是地理坐标系&#xff08;经纬度&#xff09;&#xff0c;那么直接用 arcgis或者QGIS 导入数据就行了&#xff0c;可实际中总会遇到各种问题&#xff1a; 坐标数据集为大地 200…

基于STM32F4的ETH接口实现dm9161驱动程序设计

目录 概述 1 硬件接口 1.1 硬件电路图 1.2 STM32与DM9161接口关系 2 STM32Cube配置项目 2.1 STM32Cube配置参数 2.2 GENERATE项目 3 dm9161驱动程序的实现 3.1 实现读写函数 3.1.1 读函数 3.1.2 写函数 3.2 驱动代码 4 测试驱动程序 测试源代码&#xff1a; st…

MySQL-配置文件

1、配置文件格式 配置文件中启动选项被分为若干组&#xff0c;每组都有一个’组名’&#xff0c;用[ ] 包裹每组下都可定义若干个启动选项配置文件中指定的启动选项不允许添加--前缀配置文件中每行只能指定一个具体启动选项相关分组示例如下&#xff1a; [server] (具体启动选…

蓝桥杯2022年第十三届决赛真题-最大数字

知识点&#xff1a; double -------(max)10的308次幂 long long ---------(max)10的18次幂 过 96% 的方法 贪心思想&#xff1a;根据数据范围&#xff0c;很容易想到应该用for遍历每一位&#xff0c;复杂度是O(1)。从前往后看每一位&#xff0c;比较通过到达9和通过-到达9的个…

vue实现左右两栏布局宽度可拖拽

项目里需要左右两栏布局根据内容多少可以用户自己拖拽宽度的需求 找了文章参考了下&#xff0c;但都没有实现我要的效果&#xff0c;所以结合调整了一下&#xff0c;记录一下我自己用到的效果 参考文章放下面了&#xff0c;感谢两位大佬 vue拖拽 html实现拖拽 最终效果实现…

Dashboard 安装部署

Dashboard 安装部署 Dashboard 安装部署 一&#xff1a;下载 二&#xff1a;部署步骤 1.镜像下载及导入 国内直接拉外网镜像会失败&#xff0c;可在境外下载镜像 查看 deployment 里的镜像版本 Dashboard Deploymentcontainers:- name: kubernetes-dashboardimage: k8s.g…