在c#中消息需要定義成windows系統中的原始的
const int WM_Lbutton =
public const int USER =
消息發送是通過windows提供的API函數SendMessage來實現的它的原型定義為
[DllImport(
private static extern int SendMessage(
int hWnd
int Msg
int wParam
int lParam // second message parameter
);
在C#中
你可以在form中重載該函數來處理消息
protected override void DefWndProc ( ref System
{
switch(m
{
case WM_Lbutton :
///string與MFC中的CString的Format函數的使用方法有所不同
string message = string
MessageBox
break;
default:
base
break;
}
}
其實
那麼
defproc函數來攔截消息
在C#中有的時候需要對控件的消息進行預處理
數據進行編輯
IMessageFilter來實現消息的過濾
public class Form
{
const int WM_MOUSEMOVE =
public bool PreFilterMessage(ref Message m)
{ Keys keyCode = (Keys)(int)m
if(m
{
//MessageBox
return true;
}
return false;
}
}
From:http://tw.wingwit.com/Article/program/net/201311/12115.html