gpt4 book ai didi

c# - 如何判断修改键何时被按下/释放

转载 作者:行者123 更新时间:2023-11-30 12:14:06 27 4
gpt4 key购买 nike

我想知道何时按下或释放修改后的键(CtrlShift)。

基本上,用户可以在按下修改键的情况下执行多次击键,而我不想在它被释放之前执行一个操作(想想 EmacsCtrl + X + S).

我试图用 PreviewKeyUp 和 PreviewKeyDown 来做到这一点,但这似乎处理普通键而不是修饰符。一旦我在事件中,我就可以判断修改键是否被按下,但我无法判断修改键是否在事件之间被释放和重新按下。

最佳答案

protected override void OnPreviewKeyDown(KeyEventArgs e)
{
// I just picked that key for a sample
case Key.Tab:
if (Keyboard.IsKeyDown(Key.LeftShift) ||
Keyboard.IsKeyDown(Key.RightShift))
{
DoMyStuff();
}


// Similar things for Ctrl:

if (Keyboard.IsKeyDown(Key.LeftCtrl) ||
Keyboard.IsKeyDown(Key.RightCtrl))
{
....
}

关于c# - 如何判断修改键何时被按下/释放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10353572/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com