[英]How to catch ESC key press with WndProc?
如何使用WndProc捕捉ESC KeyPress?
另一種選擇(用於表格):
protected override bool ProcessKeyPreview(ref System.Windows.Forms.Message m)
{
int VK_ESCAPE = 27;
if (m.Msg == Win32Constants.WM_KEYDOWN && (int)m.WParam == VK_ESCAPE)
{
// ...
}
return base.ProcessKeyPreview(ref m);
}
你為什么要這樣呢? 為什么不將Form的PreviewKey
屬性設置為true
並為KeyUp
設置全局事件處理程序並進行檢查...
if (e.KeyCode == Keys.Esc){ //... }
您需要捕獲WM_CHAR
消息並檢查WParam
。
(msg == WM_KEYDOWN)&&(wParam == VK_ESCAPE)...操作是c#...抱歉,這是Win32 API方式
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.