C# 如何关联键盘按钮 (KeyChar/KeyCode值 KeyPress/KeyDown事件 区别)

1. 首先将窗口属性KeyPreview设为true,如果属性对话框中找不到,就直接在代码里添加;
2. 添加KeyPress / KeyDown事件:


KeyPress 和KeyDown 、KeyPress之间的区别:
    1).KeyPress主要用来捕获数字(注意:包括Shift+数字的符号)、字母(注意:包括大小写)、小键盘等除了F1-12、SHIFT、Alt、Ctrl、Insert、Home、PgUp、Delete、End、PgDn、ScrollLock、Pause、NumLock、{菜单键}、{开始键}和方向键外的ANSI字符
        KeyDown 和KeyUp 通常可以捕获键盘除了PrScrn所有按键(这里不讨论特殊键盘的特殊键)
    2).KeyPress 只能捕获单个字符
        KeyDown 和KeyUp 可以捕获组合键。
    3).KeyPress 可以捕获单个字符的大小写
    4).KeyDown和KeyUp 对于单个字符捕获的KeyValue 都是一个值,也就是不能判断单个字符的大小写。
    5).KeyPress 不区分小键盘和主键盘的数字字符。
        KeyDown 和KeyUp 区分小键盘和主键盘的数字字符。
    6).其中PrScrn 按键KeyPress、KeyDown和KeyUp 都不能捕获。


KeyPress事件:
private void Form1_KeyPress(object sender, KeyPressEventArgs e)
{
    if(e.KeyChar== '1')
    {
        button1.PerformClick();// 执行按钮“1”的操作
        e.Handled = true;
    }
}
KeyChar取值:





另外2个特殊ASCII码:回车=13,换行=10


KeyDown事件:

  • 1
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值