gpt4 book ai didi

C# 捕获主窗体键盘事件

转载 作者:太空宇宙 更新时间:2023-11-03 15:58:13 24 4
gpt4 key购买 nike

如何捕捉 WinForm 主窗体的键盘事件,其他控件所在的位置。所以我想捕捉一个事件 Ctrl + S 并且不管焦点在哪里。但是没有 Pinvoke(钩子(Hook)之类的......)只有 .NET 管理内部电源。

最佳答案

试试这段代码。使用接口(interface) IMessageFilter 你可以过滤任何 ctrl+key.

public partial class Form1 : 
Form,
IMessageFilter
{
public Form1()
{
InitializeComponent();

Application.AddMessageFilter(this);
this.FormClosed += new FormClosedEventHandler(this.Form1_FormClosed);
}

private void Form1_FormClosed(object sender, FormClosedEventArgs e)
{
Application.RemoveMessageFilter(this);
}

public bool PreFilterMessage(ref Message m)
{
//here you can specify which key you need to filter

if (m.Msg == 0x0100 && (Keys)m.WParam.ToInt32() == Keys.S &&
ModifierKeys == Keys.Control)
{
return true;
}
else
{
return false;
}
}
}

我对此进行了测试并为我工作。

关于C# 捕获主窗体键盘事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22560756/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com