封装的比较好而已。所以发到博客上来。
public class MyMsgFilter : IMessageFilter,IDisposable { public const int WM_LBUTTONDOWN = 0x201; public bool PreFilterMessage(ref Message m) { if (m.Msg == WM_LBUTTONDOWN) { //左键按下 } } public MyMsgFilter() { Application.AddMessageFilter(this); } public void Dispose() { Application.RemoveMessageFilter(this); } }
调用方法
只有一行,任何地方,最好是窗体构造函数内:
new MyMsgFilter();
C# 消息过滤器实现
本文介绍了一个简单的 C# 实现的消息过滤器 MyMsgFilter。该类实现了 IMessageFilter 接口,用于捕获 WM_LBUTTONDOWN 消息,即鼠标左键按下事件。通过在窗体构造函数中创建 MyMsgFilter 的实例,可以轻松地为应用程序添加消息过滤功能。
1170

被折叠的 条评论
为什么被折叠?



