Powershell Winforms - обработка оконных событий - PullRequest
0 голосов
/ 30 сентября 2019

Код не работает должным образом. ShowDialog () блокирует поток. События не обрабатываются. Как я могу сделать эту работу? Окно должно закрываться после трехкратного нажатия. Окно может или не может работать в отдельном потоке. Mainloop (write-host $ x) должен работать, в то время как window может обрабатывать события mouseclick.

function myform{
        $m=0
        $fr = New-Object -TypeName System.Windows.Forms.Form
        $ev = Register-ObjectEvent -InputObject $fr -EventName Mouseclick -Action {
            $m++
            if($m -ge 3){
                $fr.Close()
                }
            }
        $fr.Activate()
        $fr.ShowDialog()
    }
    #$myjob = Start-Job $Function:myform
    $myjob
    $x = 0
    myform

    while($x -lt 3){
        $x++
        write-host $x
        Start-Sleep 2
        }
    Stop-Job -id $myjob.id
...