2种方法,网上看到的,先纪录下来,有时间验证
一
这在C# Winforms开发中是可以做到的。 Form的键盘事件(比如:keydown)中可以通过设置KeyEventArgs.Handled属性为True,来控制仅在窗体级别处理键盘事件而不允许其他控件接收键盘事件。同时,要设置该窗口的KeyPreview属性为True,确保把控件的键盘事件注册到窗体上。
DE jQuery1258006391703="11"<form1.KeyPreview = true;
private void form1_KeyDown(object sender, KeyEventArgs e)
{
e.Handled = true;
}
DE<
另外,像特殊功能的预处理键如: Tab、Return、Esc 以及向上键、向下键、向左键和向右键,需要另外重写控件上的IsInputKey方法。详细可以参考MSDN有关键盘输入事件的详细介绍。
二
using System;
using System.Runtime.InteropServices;
namespace SystemHotKey
{
public delegate void HotkeyEventHandler(int HotKeyID);
public class Hotkey : System.Windows.Forms.IMessageFilter <