Powershell 按键修饰符

Powershell 按键修饰符
$Textbox.Add_Keydown({
  If ($Args[1].key -eq 'Shift' -and $Args[1].key -eq 'Return'){Function A}
  ElseIf ($Args[1].key -eq 'Return'){Function B}
})

我希望能够让它在按下 Shift+Enter 时执行 X 操作,在按下 Enter 时执行 Y 操作。这应该很简单,但我似乎无法弄清楚。

我尝试了 +Return、+ Return、Shift Return、Return、+Enter……任何我能想到的方法。

甚至,

If ($Args[1].key -eq 'Shift'){if($Args[1].key -eq 'Return'){Write-host "Working"}} 

是否存在某种可以用来表示 Shift + Enter 键的键码?

答案1

看看KeyEventArgs 类(这就是您在这里处理的论点类型)。

您可以使用关键代码转移属性来检测按下了哪些键以及它们是否被移动。例如:

$Textbox.Add_Keydown({
    if ($_.KeyCode -eq "Enter" -and $_.Shift) {
        Write-host "Working"
    }
})

相关内容