C#控制鼠标消息2010-12-03我的程序不希望鼠标碰到窗体上的listBox,该怎么办啊?或者让鼠标碰不到整个窗体,只可以点击关闭按钮时才可以关闭窗体也可以。在有就是干脆让鼠标失灵,设置一个键盘关闭程序你可以在Application中添加以消息的过虑及处理,这样可以达到控制鼠标消息的功能,比如如下的代码:
class MsgFilter : IMessageFilter
{
public bool PreFilterMessage(ref Message m)
{
if (m.Msg == 0x100 && m.WParam == (IntPtr)0x11) //(WM_RBUTTONDOWN)
{
//这里返回true以表示应用程序不在处理这个消息而
//使得这个消息无效,你可以找到其它的鼠标消息添加到这里.
return true;
}
}
}
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
MsgFilter ms=new MsgFilter();//添加消息过滤器
Application.AddMessageFilter(ms);
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
Application.RemoveMessageFilter(ms);//移除消息过滤器
}