2009-12-02 26 views
1

我開發了一個網格控件,我希望當Tab按下時它會從另一個單元跳轉。問題是,無論什麼事件我訂閱,或者我重寫控件時,按下標籤它永遠不會被調用。我也嘗試在表單級別捕捉Tab,但它是一樣的,任何Key事件都會響應Tab。 有什麼建議嗎?如何在按Tab鍵時抓住一個winform

回答

0

設置Form.KeyPreview = false

+0

這對Tab鍵 – 2009-12-02 16:12:54

1

PreviewKeyDown或KeyPress應該適合您。你確定你的GridControl在你測試你的代碼時得到了重點嗎?

+0

PreviewKeyDown沒有效果......我不會和WPF的工作... – jmayor 2009-12-02 16:00:12

+0

PreviewKeyDown不僅僅是爲WPF – nawfal 2012-08-06 11:53:15

1

您是否嘗試過重寫ProcessCmdKey?

protected override bool ProcessCmdKey(ref Message msg, Keys keyData) 
{ 
    if(GridControlFocused) 
    { 
     switch(keyData) 
     { 
      case Keys.Tab: 
      // put code here to jump to next cell. 
      return true; 
     } 
    } 

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