Ctrl+a to select all in listview powershell

Ctrl+a to select all in listview powershell

我正在尝试在列表视图上使用 Ctrl+A​​,默认情况下它不是一个选项。使用 keypress 事件复制此行为无效。

Keypress 适用于单键按下事件,但当我将它与组合键一起使用时,它不起作用。 为了进行测试,我尝试了以下操作:

$droper.Add_keypress({if ($_.KeyCode -Eq 17) {
                                           write-host "ctrl a pressed"}})

以上成功

$droper.Add_keypress({if ($_.KeyCode -Eq (17 -and 65) ) {
                                           write-host "ctrl a pressed"}})

这行不通

$droper.Add_keypress({if (($_.KeyCode -Eq 17) -and ($_.KeyCode -Eq 65) ) {
                                           write-host "ctrl a pressed"}})

这也行不通 非常感谢任何帮助!!

使用事件中的参数,特别是 $e 类型的 KeyEventArgs:

$droper.Add_keypress({
    param($sender, $e)
    if ($e.control) { write-host "ctrl a pressed"}
    })

请注意,$e 具有布尔值的 Alt、Control 和 Shift(以及其他)成员变量。

然后你可以这样做来检查是否按下了 CTRL + A:

if($_.KeyCode -eq "A" -and $e.Control)
{
}