WinForm中快捷键与组合按键的设置方法

新建一个空白窗体

每个窗体都有这样3个事件:KeyDown、KeyPress、KeyUp,KeyDown和KeyPress都是按键按下事件,但KeyDown用的是KeyCode跟键盘各个按键相对应,它对应Keys枚举,用起来比较方便;而KeyPress用的是KeyChar,这个就要找ASC II编码了,不方便。KeyUp是按键弹起事件,不常用,因此我们使用KeyDown事件来设置窗体的快捷键,双击该事件后的空白生成代码,首先我们设置单个按键,让它按下F11最大化,再次按下还原,在事件中加入如下代码:

private void Form1_KeyDown(object sender, KeyEventArgs e)
        {

            if (e.KeyCode == Keys.F11)
            {
                if (WindowState == FormWindowState.Maximized)
                {
                    WindowState = FormWindowState.Normal;
                }
                else
                {
                    WindowState = FormWindowState.Maximized;
                }
            }
        }

若窗体的WindowState为Maximized则还原,否则最大化,运行下试试,很好用 :-)

下面在窗体中加入一个名为txtInput的TextBox,两个名为btnConfirm、btnExit的Button:

再次运行窗体,按下F11,不起作用了?这是怎么回事?

因为这时窗体运行后,焦点已不在窗体上,而在控件上了,我们要将KeyPreview设置为True,向窗体注册控件上产生的键盘事件,再次运行,问题解决了。

那么组合按键又怎么设置呢?例如要按下Alt和数字0,需要这样:

 private void Form1_KeyDown(object sender, KeyEventArgs e)
        {

            if (e.Modifiers == Keys.Alt && e.KeyCode == Keys.D0)
            {
                MessageBox.Show("按下了Alt + 0");
            }
        }

使用Modifiers可设置组合键,键盘数字区按键的Keys枚举以D打头,而小键盘上的数字以NumPad打头。按下Ctrl与Shift组合键的方法与其类似,下面我们看看按下Ctrl + Alt + 数字0该怎样设置:

private void Form1_KeyDown(object sender, KeyEventArgs e)
        {

            if ((int)e.Modifiers == ((int)Keys.Control + (int)Keys.Alt) && e.KeyCode == Keys.D0)
            {
                MessageBox.Show("按下了Control + Alt + 0");
            }
        }

将Ctrl和Alt的枚举转换为int型相加后与Modifiers对比,这样即可判断是否按下了该组合键。

那么 怎么触发按钮事件呢?

如按F1触发confirm按钮事件

private void Form1_KeyDown(object sender, KeyEventArgs e)
{
               if (e.KeyCode == Keys.F1)
             {
                         / /如果还有keypress事件,不让此快捷键触发其事件可加一句代码
                      e.Handled = true;   //将Handled设置为true,指示已经处理过KeyPress事件
                      confirm1.PerformClick();////执行单击confirm1的动作
             }
}

另外的,与窗体的AcceptButton属性相关联的按钮,将与键盘上的Enter键对应;与窗体的CancelButton属性相关联的按钮,将与键盘上的Ecs键对应。

另外一种简单快捷键的方法

在设置Button的Text属性时,在一个英文字母的前面加上&(and符),例如将btnConfirm的Text属性设置为:&Confirm,当运行窗体,按下Alt + C时,就相当于按下该键。

时间: 2024-12-16 20:23:56

WinForm中快捷键与组合按键的设置方法的相关文章

Eclipse 中的 insert spaces for tabs 设置方法

阿里<java开发手册>中 eclipse中的设置方法 [window]—> [preferences] 原文地址:https://www.cnblogs.com/jjking/p/11596040.html

winform中DataGrid控件的宽度设置

最近修改一个win5.0的PDA程式,碰到一个问题.就是给DataGrid控件绑定数据的时候,这个控件的宽度不能调整,有时候数据较长,就显示不全.然后想在程式里自定义它的宽度,设置不成功.然后网上没找到合适的方法去设置它的宽度.最后从同事LYL那里得到解决方法 设置数据源: this.dataGrid1.DataSource = ds.Tables[1].DefaultView; 在这之前给DataGrid控件添加表样式,代码如下: DataGridTableStyle h = new Data

Linux中tomcat随服务器自启动的设置方法

1. cd到rc.local文件所在目录,一般在 /etc/rc.d/目录. 2. 将rc.local下载到本地windows系统中. 3. 编辑rc.local,将要启动的tomcat  /bin/目录下的startup.sh文件的路径添加进入rc.d 中 touch xxxxx 行的下面即可,如下所示. 原文地址:https://www.cnblogs.com/zhcBlog/p/10078324.html

Winform中修改WebBrowser控件User-Agent的方法(已经测试成功)

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows.Forms; using System.Runtime.InteropServices; using System.Reflection; namespace WindowsFormsApplication2 { public class UserAgentHelper { priva

jquery mobile开发中footer一直在底部的设置方法

如果这么写footer的话<div data-role="footer">     <a href="http://www.jqdemo.com" data-transition="fade" data-theme="" data-icon="">jQuery插件</a></h4></div>效果会这样 下面会空出一块空白,因为底部是要适应内容的,

Jmeter和eclipse指定特殊版本jdk启动的设置方法

由于在做性能测试的过程中,需要使用LR的Java Vuser,然后Java Vuser只能使用jdk1.6版本的win32jdk 所以在实际中,要不断的切换jdk版本,有时候需要使用Jmeter,但是Jmeter的启动版本是也是jdk1.8 解决方法: 安装两个版本的jdk 设置jdk1.6的环境变量: LR中运行Java Vuser成功 Jmeter设置方法 rem Minimal version to run JMeter set JAVA_HOME2=D:\Java\jdk8 set PA

WinForm界面中快捷键设置

这是对整个界面的快捷键的设置,比如查询,保存. 1 protected override bool ProcessCmdKey(ref Message msg, Keys keyData) 2 { 3 if (keyData == Keys.F2) 4 { 5 if (btnSelect.Enabled) 6 { 7 btnSelect_Click(null, EventArgs.Empty); 8 return true;//这里return true 否则控件焦点会跟着方向键改变 9 } 1

c# winfrom 菜单中快捷键的设置

c# winfrom 菜单中快捷键的设置,按Alt+H就打开帮助 博客分类: c#(winform) CC++C#F# 比如一个菜单中有   文件(F)   查看(V)  收藏(A) 然后不用鼠标去点,直接按Alt+F打开文件,按Alt+V打开查看,按Alt+A打开收藏 只需要在各个菜单控件的Text上写上(&字母)就可以了 文件(F) :文件(&F) 查看(V) :查看(&V) 收藏(A) :收藏(&A) 黑色头发  http://heisetoufa.iteye.com

Windows Form 中快捷键设置

在Windows Form程序中使用带下划线的快捷键只需要进行设置: 就能够工作. Windows Form 中快捷键设置