C# 超链接控件LinkLabel无法触发Alt快捷键

server/2024/11/20 16:12:11/

在C#中,为控件添加快捷键的方式有两种,其中一种就是Windows中较为常见的Alt快捷键,比如运行对话框,记事本菜单等。只需要按下 Alt + 框号中带下划线的字母即可触发该控件的点击操作。如图所示

在C#开发中,实现类似的操作十分简单,只需要将控件的文本属性设置成这种格式,浏览(&B),即可。同时为控件添加点击方法,当用户按下Alt+B就会触发。

button1.Text = "浏览(&B)";button1.Click = (object sender, EventArgs e) => 
{Console.WriteLine("按钮触发了");
}

但是,实际开发中,作者遇到使用 LinkLabel 控件使用快捷无法触发操作。于是查阅相关资料,通过重写 LinkLabel 控件的 ProcessMnemonic 方法从而达到了效果。

只需要自定义一个类,继承 LinkLabel ,重写方法,并把窗体中初始化组件 InitializeComponent 内的 Forms.LinkLabel 控件修改成我们定义的控件即可。自定义控件 HyperLink 的相关代码。

class Hyperlink : LinkLabel
{protected override bool ProcessMnemonic(char charCode){if (base.ProcessMnemonic(charCode)){if (this.Links.Count == 0)return false;// 原资料中的代码实现好像并不可行// OnLinkClicked(new LinkLabelLinkClickedEventArgs(this.Links[0]));// 作者改进的,亲测可用base.OnClick(EventArgs.Empty);return true;}return false;}
}

参考资料:c# - 对 LinkLabel 控件使用键盘快捷键_Stack Overflow中文网


http://www.ppmy.cn/server/143500.html

相关文章

[开源重构]Search(Elasticsearch/OpenSearch) Sync Tool

[开源重构]Elasticsearch/OpenSearch Sync Tool 背景 因为要做集群灾备,需要在主备两个集群之间持续性地同步数据,调查过多个方案: CCR(Cross-cluster replication) 官方工具,可惜需要收费,无奈放弃 😦esm 如官方文档说所,最大的特点快. 可惜也发现不少问题&#…

Jmeter的后置处理器(二)

5--JSR223 PostProcessor 功能特点 自定义后处理逻辑:使用脚本语言编写自定义的后处理逻辑。支持多种脚本语言:支持 Groovy、JavaScript、BeanShell 等脚本语言。动态参数传递:将提取的数据存储为变量,供后续请求使用。灵活性高…

在windows上打包mediasoup arm64版本的docker镜像

mediasoup版本:3.14.14 mediasoup-demo版本:v3 windows 10 专业版 docker-desktop版本:4.30.0 (149282) docker info: Client:Version: 26.1.1Plugins:buildx: Docker Buildx (Docker Inc.)Version: v0.14.0-desktop.1Path: C:\Prog…

Linux-Apache

文章目录 Apache基础配置 🏡作者主页:点击! 🤖Linux专栏:点击! ⏰️创作时间:2024年11月19日12点20分 Apache Web服务器用来实现HTTP和相关TCP连接的处理,同时负责所提供资源的管理…

CFD 应用于分离过程:旋风分离器(第 1 部分)

在前两篇 CFD 文章中,我们讨论了 CFD 在生物加工行业中的作用。我们强调了混合对生物反应器性能的重要性。今天,我们将来个 180 的转变,讨论分离过程在不同行业中的重要性,特别是 CFD 在模拟此类过程中的作用。 在开始之前&#…

Linux远程连接服务

一、简介 1、类型 明文传输:Telnet、RSH等,目前非常少用 加密传输:SSH为主,已经取代明文传输 图形接口:XDMCP、VNC、XRDP等 2、功能作用 通过使用SSH,可以把所有传输的数据进行加密,这样“…

torchvision库在进行图片转换操作中报antialias参数没有显式设置会导致不同图片后端中的值不统一的警告信息

诸神缄默不语-个人CSDN博文目录 这个警告信息是我在直接调用已经封装好的视觉模型时出现的,位置是: D:\anaconda3\envs\venv_path\Lib\site-packages\torchvision\transforms\functional.py:1603 警告信息全文是: UserWarning: The default…

Mac 修改默认jdk版本

当前会话生效 这里演示将 Java 17 版本降低到 Java 8 查看已安装的 Java 版本: 在终端(Terminal)中运行以下命令,查看已安装的 Java 版本列表 /usr/libexec/java_home -V设置默认 Java 版本: 找到 Java 8 的安装路…