C#技巧之窗体去鼠标化

简介

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

实现的方法有两种,一种是使用键盘上的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键,也会有同样效果。

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

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

相关文章

LeetCode热题100:双指针

283.移动零 题目链接:移动零 题目描述:给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 请注意 ,必须在不复制数组的情况下原地对数组进行操作。 解题思路: 创建两…

VTK 的可视化方法:等值面

VTK 的可视化方法:等值面 VTK 的可视化方法:等值面VTK 中的数据表达VTK 等值面提取类实例1:模型数据的等值面提取空间函数数据的等值面提取参考 VTK 的可视化方法:等值面 等值面是指一组具有相同标量值的点所构成的表面。 等值面…

54.HarmonyOS鸿蒙系统 App(ArkTS)tcp socket套接字网络连接

54.HarmonyOS鸿蒙系统 App(ArkTS)tcp socket套接字网络连接 import socket from ohos.net.socket; import process from ohos.process; import wifiManager from ohos.wifiManager;import common from ohos.app.ability.common;let tcp socket.constructTCPSocketInstance();…

接收区块链的CCF会议--APSEC 2024 截止7.13 附录用率

会议名称:APSEC(Asia-Pacific Software Engineering Conference) CCF等级:CCF C类学术会议 类别:软件工程/系统软件/程序设计语言 录用率:2023年,90 submissions were recommended for accep…

智能指针解决多线程访问共享对象的线程安全问题

以下代码&#xff0c;在对象A被析构后&#xff0c;去访问A的成员对象&#xff0c;显然是不合理的。 class A { public:A() { cout << "A()" << endl; }~A() { cout << "~A()" << endl; }void testA() { cout << "非常…

OPA657运算放大器调研

运放是一种直流耦合&#xff0c;差模&#xff08;差动模式&#xff09;输入、通常为单端输出&#xff08;Differential-in, single-ended output&#xff09; [1] 的高增益&#xff08;gain&#xff09;电压放大器。运算放大器能产生一个比输入端电势差大数十万倍的输出电势&am…

Microsoft.NET 框架程序设计 —— 共享程序集

文件版本是一个很难解决的问题。实际上,如果仅仅在一个文件中将其某一位从0改变到1、或者从1改变到0,我们便不能绝对保证使用原来文件的代码和它使用新版文件时的行为一样。这是因为许多应用程序都会有意或者无意地引入bug。如果一个文件的后续版本修复了一个bug,应用程序便…

缓存分享(1)——Guava Cache原理及最佳实践

Guava Cache原理及最佳实践 1. Guava Cache是什么1.1 简介1.2 核心功能1.3 适用场景 2. Guava Cache的使用2.1 创建LoadingCache缓存2.2 创建CallableCache缓存 缓存的种类有很多&#xff0c;需要根据不同的应用场景来选择不同的cache&#xff0c;比如分布式缓存如redis、memca…

图床搭建GitHub+PicGo+jsdelivr(CDN)+Typora(内附加速工具)

目录 安装PicGo GitHub配置与加速器 配置PicGo 使用typroa 安装PicGo PicGo是一个用于上传图片的客户端&#xff0c;支持拖拽上传、剪贴板上传&#xff0c;功能十分方便。 下载地址&#xff1a; https://github.com/Molunerfinn/PicGo/releases 个人网盘自取版本2.4.0…

2024五一杯数学建模竞赛A题完整成品论文和代码分析:建立钢板切割的工艺路径动态规划、贪心与分层优化模型

2024五一杯数学建模竞赛A题&#xff1a;建立钢板切割的工艺路径动态规划、贪心与分层优化模型 2024五一数学建模A题完整代码和成品论文获取↓↓↓↓↓ https://www.yuque.com/u42168770/qv6z0d/gyoz9ou5upvkv6nx?singleDoc# 本文文章较长&#xff0c;建议先目录。经过不懈的…

IoTDB 入门教程③——基于Linux系统快速安装启动和上手

文章目录 一、前文二、下载三、解压四、上传五、启动六、执行七、停止八、参考 一、前文 IoTDB入门教程——导读 二、下载 下载二进制可运行程序&#xff1a;https://dlcdn.apache.org/iotdb/1.3.1/apache-iotdb-1.3.1-all-bin.zip 历史版本下载&#xff1a;https://archive.…

企业文化如何写??

编写企业文化时&#xff0c;要确保内容既能够体现公司的核心价值观、愿景和使命&#xff0c;又能够激发员工的归属感和工作热情。以下是一些关于如何编写企业文化的建议&#xff1a; 一、明确企业文化的重要性 企业文化是一个组织的灵魂&#xff0c;它影响着员工的工作态度、…

8、ftp使用教程

ftp使用教程 1、FTP概述&#xff1a;2、ftp主动模式和被动模式3、配置说明4、多用户配置5、异常6、ftp命令附录 1、FTP概述&#xff1a; ​ FTP是文件传输协议&#xff08;File Transfer Protocal&#xff09;的简写&#xff0c;主要完成与远程计算机的文件传输。 FTP采用客户…

【树——数据结构】

文章目录 1.基本概念2.基本术语1.结点之间的关系描述2.结点&#xff0c;树的属性描述3.有序树&#xff0c;无序树4.森林 3.树的性质考点1考点2考点3考点4 4.树的存储结构5.树和森林的遍历 1.基本概念 结点&#xff0c;根节点&#xff0c;分支结点&#xff0c;叶子结点&#xf…

【Mac】Axure RP 9(交互原型设计软件)安装教程

软件介绍 Axure RP 9是一款强大的原型设计工具&#xff0c;广泛用于用户界面和交互设计。它提供了丰富的功能和工具&#xff0c;能够帮助设计师创建高保真的交互原型&#xff0c;用于展示和测试软件应用或网站的功能和流程。以下是Axure RP 9的主要特点和功能&#xff1a; 交…

(1)探索 SpringAI - 基本概述

人工智能简介 A system is ability to correctly interpret external data, to learn from such data, and to use those learnings to achieve specific goals and tasks through flexible adaptation. 翻译&#xff1a;系统正确解释外部数据的能力&#xff0c;从这些数据中学…

Unity MeshRenderer 入门

概述 在项目制作过程中&#xff0c;肯定缺少不了模型的使用&#xff0c;那就一定接触过MeshRenderer&#xff0c;也许还有你不理解的地方&#xff0c;接下来让我们来学习一下这部分的内容吧。 Mesh Filter&#xff08;网格过滤器&#xff09; Mesh:提供一个网格的参考&#xf…

H.265 与 H.264 的主要区别

H.265 与 H.264 的主要区别 H.265 与 H.264 的主要区别各模块技术差异汇总宏块划分帧内预测模式帧间预测模式去块滤波ALF自适应环路滤波采样点自适应偏移&#xff08;Sample Adaptive Offset&#xff09;滤波并行化设计TileEntropy sliceDependent SliceWPP&#xff08;Wavefro…

WORD排版常见问题与解决方案

前言 近期使用word软件进行论文排版工作&#xff0c;遇到了一些常见的问题&#xff0c;记录一下&#xff0c;避免遗忘。 基本配置 系统环境&#xff1a;win10/win11 word版本&#xff1a;Microsoft Office LTSC 专业增强版 2021 问题与解决方案 问题1&#xff1a;页眉显示内…

Java IO流(一)

1. IO流概述 1.1 什么是IO流 在计算机中&#xff0c;input/output&#xff08;I/O、i/o 或非正式的 io 或 IO&#xff09;是信息处理系统&#xff08;例如计算机&#xff09;与外界&#xff08;可能是人类或其他信息处理系统&#xff09;之间的通信。 输入是系统接收到的信号或…