热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

C#学习教程:如何为Windows窗体表单设置热键分享

如何为Windows窗体表单设置热键我想在我的Windows窗体表单中设置热键。例如,Ctrl+N表示新表单,Ctrl+S表示保存。我该怎么办?组myForm.KeyPreview

如何为Windows窗体表单设置热键

我想在我的Windows窗体表单中设置热键。 例如, Ctrl + N表示新表单, Ctrl + S表示保存。 我该怎么办?

myForm.KeyPreview = true; 

KeyDown事件创建一个处理程序:

 myForm.KeyDown += new KeyEventHandler(Form_KeyDown); 

处理程序示例:

  // Hot keys handler void Form_KeyDown(object sender, KeyEventArgs e) { if (e.Control && e.KeyCode == Keys.S) // Ctrl-S Save { // Do what you want here e.SuppressKeyPress = true; // Stops other controls on the form receiving event. } } 

如果您的窗口有菜单,则可以使用System.Windows.Forms.ToolStripMenuItemShortcutKeys属性:

 myMenuItem.ShortcutKeys = Keys.Control | Keys.S; 

在Visual Studio中,您也可以在菜单项的属性页中进行设置。

我想要一个Form的KeyDown事件和一些像这样的代码:

 private void Form1_KeyDown(object sender, KeyEventArgs e) { if (e.KeyData == (Keys.Control | Keys.N)) { CreateNew(); } } 

如果您尝试将它们链接到应用程序中的菜单项,那么您不需要任何代码。 在菜单项上,您只需设置快捷键属性,它将运行您为菜单项单击配置的相同事件。

您还可以在Form派生类型中覆盖ProcessCmdKey ,如下所示:

 protected override bool ProcessCmdKey(ref Message message, Keys keys) { switch (keys) { case Keys.B | Keys.Control | Keys.Alt | Keys.Shift: // ... Process Shift+Ctrl+Alt+B ... return true; // signal that we've processed this key } // run base implementation return base.ProcessCmdKey(ref message, keys); } 

我相信它更适合热键。 不需要KeyPreview

如果需要,您也可以使用隐藏菜单进行设置。 只需设置menu.visible = false的属性;

首先,您需要处理KeyDown事件,然后您可以开始注意修改器:

 private void Form1_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e) { if (Control.ModifierKeys == Keys.Control && e.KeyCode == Keys.S) { //Do whatever } } 

当然,您需要确保您的表单订阅了KeyDown事件。

上述就是C#学习教程:如何为Windows窗体表单设置热键分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—编程笔记


推荐阅读
  • 本文分享了一个关于在C#中使用异步代码的问题,作者在控制台中运行时代码正常工作,但在Windows窗体中却无法正常工作。作者尝试搜索局域网上的主机,但在窗体中计数器没有减少。文章提供了相关的代码和解决思路。 ... [详细]
  • 在Android开发中,使用Picasso库可以实现对网络图片的等比例缩放。本文介绍了使用Picasso库进行图片缩放的方法,并提供了具体的代码实现。通过获取图片的宽高,计算目标宽度和高度,并创建新图实现等比例缩放。 ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • 本文介绍了C#中生成随机数的三种方法,并分析了其中存在的问题。首先介绍了使用Random类生成随机数的默认方法,但在高并发情况下可能会出现重复的情况。接着通过循环生成了一系列随机数,进一步突显了这个问题。文章指出,随机数生成在任何编程语言中都是必备的功能,但Random类生成的随机数并不可靠。最后,提出了需要寻找其他可靠的随机数生成方法的建议。 ... [详细]
  • ZSI.generate.Wsdl2PythonError: unsupported local simpleType restriction ... [详细]
  • C# 7.0 新特性:基于Tuple的“多”返回值方法
    本文介绍了C# 7.0中基于Tuple的“多”返回值方法的使用。通过对C# 6.0及更早版本的做法进行回顾,提出了问题:如何使一个方法可返回多个返回值。然后详细介绍了C# 7.0中使用Tuple的写法,并给出了示例代码。最后,总结了该新特性的优点。 ... [详细]
  • 本文详细介绍了Java中vector的使用方法和相关知识,包括vector类的功能、构造方法和使用注意事项。通过使用vector类,可以方便地实现动态数组的功能,并且可以随意插入不同类型的对象,进行查找、插入和删除操作。这篇文章对于需要频繁进行查找、插入和删除操作的情况下,使用vector类是一个很好的选择。 ... [详细]
  • 利用Visual Basic开发SAP接口程序初探的方法与原理
    本文介绍了利用Visual Basic开发SAP接口程序的方法与原理,以及SAP R/3系统的特点和二次开发平台ABAP的使用。通过程序接口自动读取SAP R/3的数据表或视图,在外部进行处理和利用水晶报表等工具生成符合中国人习惯的报表样式。具体介绍了RFC调用的原理和模型,并强调本文主要不讨论SAP R/3函数的开发,而是针对使用SAP的公司的非ABAP开发人员提供了初步的接口程序开发指导。 ... [详细]
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • 本文介绍了使用kotlin实现动画效果的方法,包括上下移动、放大缩小、旋转等功能。通过代码示例演示了如何使用ObjectAnimator和AnimatorSet来实现动画效果,并提供了实现抖动效果的代码。同时还介绍了如何使用translationY和translationX来实现上下和左右移动的效果。最后还提供了一个anim_small.xml文件的代码示例,可以用来实现放大缩小的效果。 ... [详细]
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • 目录实现效果:实现环境实现方法一:基本思路主要代码JavaScript代码总结方法二主要代码总结方法三基本思路主要代码JavaScriptHTML总结实 ... [详细]
  • 阿,里,云,物,联网,net,core,客户端,czgl,aliiotclient, ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
author-avatar
桥之西海_744
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有