2012-12-31 74 views
4

我正在研究一個在其上有菜單的應用程序。我想使用快捷鍵(即這個片段)不同的方法:這是快捷鍵:CTRL + Ñ,從here採取自定義菜單快捷鍵

bool prefixSeen = false; 

protected override bool ProcessCmdKey(ref Message msg, Keys keyData) 
{ 
    if (prefixSeen) 
    { 
     switch (keyData) 
     { 
      case (Keys.Control | Keys.D1): 
       MessageBox.Show("New file"); 
       prefixSeen = false; 
       break; 
     } 
    } 
    switch (keyData) 
    { 
     case (Keys.Control | Keys.n): 
      prefixSeen = true; 
     break; 
    } 

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

代碼。

這裏是我的菜單:

enter image description here

而且我要在菜單項來顯示(右對齊)的快捷鍵(即應該只被解釋爲一個字符串,我認爲)。我怎樣才能達到這個效果?

在此先感謝,並祝各位新年快樂。

編輯:爲Visual Studio內置的方法是:

enter image description here

+1

'我想爲快捷鍵使用不同的方法' - 這是內置的(請參閱Mark Hall的答案)。爲什麼要使用不同的方法? –

+0

@JonB,看看我的編輯(在我的代碼段),看看我爲什麼要使用自定義快捷鍵偵聽器。 – Victor

+0

即使在您明確指出**之後,您仍然違反了歸因規則。 http://stackoverflow.com/questions/13459248/visual-studio-shortcutkeys –

回答

8

使用MenuItem.ShortCutMenuItem.ShowShortCut屬性。


如果你想創建自己的自定義快捷鍵,這些屬性將不會爲你工作,因爲它們依賴於快捷鍵的預定枚舉。在這種情況下,我建議你將它添加到你的菜單的文本中,沒有自動的方式。


既然有人指出,你正在使用ToolStripMenuItems你應該能夠independantly設置ShortCutKeyDisplayString什麼每你的願望。您仍然需要自己處理實際的快捷方式。

+0

但是我怎樣才能自定義菜單控件來實現呢? – Victor

+0

@Victor你使用MenuItems或toolStripMenuItems? –

+0

我正在使用toolStripMenuItems – Victor