我在 C#/XAML 桌面应用程序中有一个文本框,我想检测 Shift+Enter 命令。我该怎么做?
到目前为止,我只能找到有关 Ctrl+A 等命令的信息。
ModifierKeys.Shift
允许您识别按键组合,其中包括 Shift:
private void HandleKeyDownEvent(object sender, KeyEventArgs e)
{
if (e.Key == Key.Enter && (Keyboard.Modifiers == ModifierKeys.Shift))
{
// Handle..
}
}
另一种选择是Keyboard.IsKeyDown
静态方法(参见 Shoe 的答案)。
if (Keyboard.Modifiers == ModifierKeys.Shift && Keyboard.IsKeyDown(Key.Enter))
{
MessageBox.Show("test");
}
一个很好的例子可以在这里找到。
public void TextBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if ((Control.ModifierKeys & Keys.Shift) == Keys.Shift)
{
MessageBox.Show("Pressed " + Keys.Shift);
}
}