Powershell GUI应用程序,richtextbox不会更新内容

时间:2012-09-24 09:25:21

标签: user-interface powershell richtextbox

我创建了一个打包为.exe的powershell gui应用程序。该脚本调用其他脚本,并在调用的脚本启动和完成时通过只读的richtextbox通知用户。

问题是它只显示指示第一个脚本开始的消息,然后在所有脚本完成执行之前它不会显示任何内容。

这是我的代码:

foreach ($item in $checkedlistbox1.CheckedItems) {
        $richtextbox1.AppendText("Installing " + [IO.Path]::GetFileNameWithoutExtension($item) + "...")
        $richtextbox1.Update()
        $path = $scriptdir+ "\" + $item + ".exe"
        [System.Diagnostics.Process]::Start($path)
        $Process = (Get-Process | `
                        Where-Object { $_.ProcessName -ieq [IO.Path]::GetFileNameWithoutExtension($item) })
        $Process.WaitForExit() 
        $richtextbox1.AppendText("Done."+[char]13+[char]10)
        $richtextbox1.Update()
    }

我想知道这里可能出现什么问题:(

1 个答案:

答案 0 :(得分:1)

很好找到一种解决这个问题的方法:

[System.Windows.Forms.Application]::DoEvents()

在附加richtextbox之后。