Powershell Winforms-处理窗口事件

时间:2019-09-30 17:17:43

标签: .net multithreading winforms powershell event-handling

代码无法正常工作。 ShowDialog()正在阻止线程。事件未处理。我该如何进行这项工作?单击3次后,窗口必须关闭。 Window可能会或可能不会在单独的线程中运行。当窗口可以处理鼠标单击事件时,必须运行Mainloop(write-host $ x)。

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

0 个答案:

没有答案