2016-02-11 79 views
0

我正在創建一個應用程序,可以在該應用程序中預覽用戶在計算機上安裝的任何字體的文本框中輸入的特定文本。我有一個列表框中的字體列表。我想添加一個快捷方式,當用戶按下CTRL + F時,它將從列表中將選定的字體添加到包含最喜歡字體的另一個列表框中。我有一個執行此操作的按鈕,但我也想添加鍵盤快捷方式。我現在的代碼將選定的字體添加到收藏夾列表中,但它也將轉到以字母F開頭的下一個字體名稱。如何防止列表框中的選定項目移動到字母是作爲鍵盤快捷鍵的一部分被按下?爲列表框添加鍵盤快捷鍵

 private void KeyEvent(object sender, KeyEventArgs e) 
     { 
      if (e.Control && e.KeyCode == Keys.F) 
      { 
       addfavoritesButton_Click(sender, e); 
      } 
      if (e.Control && e.KeyCode == Keys.S) 
      { 
       saveButton_Click(sender, e); 
      } 
     } 
+0

這個問題缺乏上下文。我們在這裏談論什麼語言和框架?這是基於瀏覽器還是本機應用程序? – jsears

回答

0

我懷疑問題是您需要防止事件繼續冒泡。假設這是一個Windows原生應用程序(從問題中不清楚),我認爲你需要設置System.Windows.Forms.KeyEventArgs實例的Handled屬性。這樣可以避免事件被默認的OS處理程序處理。