我的程序不希望鼠標碰到窗體上的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);//移除消息過濾器
}