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方法,以确保窗体的正常运行。