WndProc是Windows窗體過程函數,用于處理窗體的消息。在Winform應用程序中,WndProc可以被重寫來處理鍵盤和鼠標事件。
以下是一些常見的鍵盤和鼠標事件處理方法:
protected override void WndProc(ref Message m)
{
const int WM_KEYDOWN = 0x0100;
if (m.Msg == WM_KEYDOWN)
{
Keys key = (Keys)m.WParam.ToInt32();
//處理按鍵事件
}
base.WndProc(ref m);
}
protected override void WndProc(ref Message m)
{
const int WM_LBUTTONDOWN = 0x0201;
if (m.Msg == WM_LBUTTONDOWN)
{
int x = (int)m.LParam & 0xffff;
int y = ((int)m.LParam >> 16) & 0xffff;
//處理鼠標按下事件
}
base.WndProc(ref m);
}
通過重寫WndProc來處理鍵盤和鼠標事件,可以實現更加靈活和個性化的事件處理邏輯。需要注意的是,在處理事件時要確保調用基類的WndProc方法,以確保窗體的正常運行。