Powershell计时器间隔不起作用

时间:2018-08-21 13:52:52

标签: powershell powershell-v5.0

我试图每10秒钟刷新一次表单上的Label,但是无论我将$timer.Interval设置为什么,它都会连续运行。如何设置间隔?

function UpdateProcCount()
{
    $Label.Text = (Get-date).ToFileTime()

}

$Form = New-Object System.Windows.Forms.Form
$timer = New-Object System.Windows.Forms.Timer
$timer.Interval = 10000
$timer.Add_Tick({UpdateProcCount})
$timer.Enabled = $True
$Form.Text = "Sample Form"
$Label = New-Object System.Windows.Forms.Label
$Label.Text = " "
$Label.AutoSize = $True
$Form.Controls.Add($Label)
$Form.ShowDialog()

在Win8上运行,

> $PSVersionTable.PSVersion

Major  Minor  Build  Revision
-----  -----  -----  --------
5      1      14409  1012    

编辑

如果我以.ps1的形式运行它,则每次都可以工作,我可以设置间隔,并且它可以适用于任何间隔,但是在ISE中,它是第一次运行,然后如果我关闭表单并以其他间隔再次运行它认为它不起作用。我什至试图删除变量,但不知何故将其设置在某个地方...

1 个答案:

答案 0 :(得分:0)

在评论中由@JohnLBevan回答。

相关问题: The PowerShell ISE sometimes behaves unpredictably after code changes are made

最后添加$ timer.Dispose()使其可以在ISE上运行。