簡體   English   中英

WinForms-在控制之前捕獲鍵

[英]WinForms - Capture key up before control

我有一個窗體,正在訂閱KeyUp事件並處理ALT鍵,這很好用,但只有當我的窗體具有焦點時,如果窗體上的控件具有焦點,則該控件將不再起作用。 當控件具有焦點時,我可以使用什么來捕獲鍵? 我寧願不必訂閱表單控件中每個控件上的每個KeyUp事件...

謝謝。

將表單的KeyPreview屬性設置為true是否對您有用

嘗試從表單中覆蓋ProcessCmdKey 只要表單處於活動狀態,無論哪個控件具有焦點,都將引發此事件。 您將需要做更多的工作來檢查密鑰數據。 例如:

    protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
    {
        if ((keyData & Keys.Alt) == Keys.Alt)
        {
            Debug.WriteLine("ALT");
        }

        return base.ProcessCmdKey(ref msg, keyData);
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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