当我按下TextBox
中的 Shift Tab 来编写一些代码时,我必须抓住这个事件。有可能这样做吗?我在KeyUp
事件中尝试了该测试:
private void txtJustifTampon_KeyUp(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Tab && Control.ModifierKeys == Keys.ShiftKey)
{
//do stuff
}
}
答案 0 :(得分:1)
其中一种可能的方法是使用PreviewKeyDown代替KeyUp
,因为
某些按键,例如 TAB ,RETURN,ESC和箭头键, 通常被某些控件忽略,因为它们不被考虑 输入键按
private void txtJustifTampon_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e) {
// If Shift + Tab pressed (i.e. Tab with Shift modifier)
if (e.KeyCode == Keys.Tab && e.Modifiers == Keys.Shift) {
//TODO: put relevant code here (do stuff)
}
}
请注意,我们应该使用Keys.Shift
(不是Keys.ShiftKey
)作为修饰符,我们应该将修饰符应用于事件参数(e.Modifiers
)< / p>