Powershell ProgressBar失败

Powershell ProgressBar失败,powershell,Powershell,为了学习如何构建进度条,我查看了几个示例,并尝试构建一个添加到GUI中的进度条。现在我只想让它循环,增加到98%,然后回落到一个随机点。使用另一篇文章中的片段,我试图在其中加入一个循环,但它不起作用 [reflection.assembly]::loadwithpartialname("System.Windows.Forms") | Out-Null [reflection.assembly]::loadwithpartialname("System.Drawing") | Out-Null

为了学习如何构建进度条,我查看了几个示例,并尝试构建一个添加到GUI中的进度条。现在我只想让它循环,增加到98%,然后回落到一个随机点。使用另一篇文章中的片段,我试图在其中加入一个循环,但它不起作用

[reflection.assembly]::loadwithpartialname("System.Windows.Forms") | Out-Null
[reflection.assembly]::loadwithpartialname("System.Drawing") | Out-Null

$form_main = New-Object System.Windows.Forms.Form
$form_main.Width = 300
$form_main.Height = 100
$form_main.Text = 'ProgressBar demo'

$progressBar1 = New-Object System.Windows.Forms.ProgressBar
$progressBar1.Location = new-object System.Drawing.Size(10,10)
$progressBar1.Size = new-object System.Drawing.Size(265,20)
$form_main.Controls.Add($progressBar1)

$Counter = 0

$progressBar1.Value = $Counter
$progressBar1.Step = 1
$progressBar1.Name = 'progressBar1'
$progressBar1.Maximum = 100

$Num = Get-Random -Minimum 50 -Maximum 90

While ($Counter -lt 100) {
    $progressBar1.PerformStep()
    }

if ($Counter -gt 98) {$Counter = $Counter -= $Num}



$form_main.ShowDialog() | Out-Null

让我知道哪里出了问题。

如果您想在进度条更新过程中同时执行某些操作,则需要使用计时器(如您参考的示例中所示)将其设置为事件驱动,否则只要脚本正在运行,进度条就不会更新。我不知道如何执行此操作