2016-02-11 150 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处理程序处理。