簡體   English   中英

如何使用WndProc捕捉ESC鍵?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM