110,534
社区成员
发帖
与我相关
我的任务
分享
private void 页面名字_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
{
if (e.KeyCode.ToString() == "Return")
{
return;
}
else if (e.KeyValue.ToString() == "")
{
return;
}
}
private void button1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Space)
{
e.SuppressKeyPress = false;
}
}
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
if (keyData == Keys.Enter)
{
return true;
}
return base.ProcessCmdKey(ref msg, keyData);
}
用这个方法可以屏蔽回车
protected override void WndProc(ref Message m)
{
Trace.Write(m.ToString() + "\n");
if (m.WParam == (IntPtr)0xd || m.WParam == (IntPtr)0x20)
{
return;
}
base.WndProc(ref m);
}
下面是按回车时的Message
msg=0x87 (WM_GETDLGCODE) hwnd=0x191058 wparam=0x0 lparam=0x0 result=0x0
msg=0xf (WM_PAINT) hwnd=0x191058 wparam=0x0 lparam=0x0 result=0x0
msg=0x8 (WM_KILLFOCUS) hwnd=0x191058 wparam=0x2c112e lparam=0x0 result=0x0
msg=0x281 (WM_IME_SETCONTEXT) hwnd=0x191058 wparam=0x0 lparam=0xffffffffc000000f result=0x0
msg=0x282 (WM_IME_NOTIFY) hwnd=0x191058 wparam=0x1 lparam=0x0 result=0x0
msg=0xf (WM_PAINT) hwnd=0x191058 wparam=0x0 lparam=0x0 result=0x0
该拦截谁?
谢谢