2017-07-28 83 views
0

我們已經創建了窗體窗體,其中有兩個按鈕Cancel和清除。 我們已經給按鈕文本&取消和&清除快捷組合鍵爲Alt +鍵。 但是當我們按Alt + c它只適用於取消按鈕。 相反,爲什麼它不會在Windows窗體中的這兩個按鈕之間進行選擇,這與VB6窗體中的Tab鍵一樣。 如果按下Alt + c,我需要在這兩個按鈕之間選項卡。 請建議任何表單屬性或按鈕屬性需要設置爲存檔?使用ALT +鍵的Windows窗體熱鍵,如果與大小寫變化相同的組合鍵

回答

0

您可以嘗試覆蓋ProcessCmdKey方法。如果按下alt,放開alt,然後按下鍵,則下面的按鈕應該可以工作。

private bool altPressed; 
protected override bool ProcessCmdKey(ref Message msg, Keys keyData) 
{ 
    if (altPressed) 
     { 
      if (keyData == Keys.C) 
      { 
       this.SelectNextControl(ActiveControl, true, true, true, true); 
       altPressed = false; 
       return true; 
      } 
     } 
     if (keyData == (Keys.Menu | Keys.Alt)) 
     { 
      altPressed = true; 
      return true; 
     } 
    return base.ProcessCmdKey(ref msg, keyData); 
} 
相關問題