2013-10-12 46 views
-1

所以我有快捷鍵設置alt和其他按鈕來插入文本到textbox。但每當我點擊它時,它會選擇我的menuStrip並選擇一個與我的鍵盤按下的字母最接近的菜單項。禁用從選擇菜單中的Alt熱鍵

我想:

if (e.KeyCode == Keys.Alt) 
{ 
    handled = true; 
} 
this tutorial所示

但它拋出我說處理不存在的錯誤。

+0

本教程說*在您的表單上創建一個名爲「句柄」的本地布爾變量*您是否已經完成了這項工作? –

+0

我做到了這一點,但它不會改變任何東西,它只是使隨機布爾真實。我需要它停止選擇菜單 – Mercifies

+0

你在做什麼似乎有點不同的教程。作爲一個起點,你是否曾嘗試通過設置e.Handled = true來吞服alt按鍵? – Baldrick

回答

2
Control_KeyDown(object sender, KeyEventArgs e) 
    { 
    if (e.Alt) 
     { 
      e.Handled = false; 
     } 
    } 

嘗試使用KeyDown事件。

0

第一把手KeyDown事件:

 KeyDown += MainWindow_KeyDown; 

在本事件處理程序中,當按下ALT鍵中的一個上的第二個參數Handled屬性設置爲true。

void MainWindow_KeyDown(object sender, KeyEventArgs e) 
    { 
     if (e.Key == Key.System && (e.SystemKey == Key.LeftAlt || e.SystemKey == Key.RightAlt)) 
     { 
      e.Handled = true; 
     } 
    }