我试图每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中,它是第一次运行,然后如果我关闭表单并以其他间隔再次运行它认为它不起作用。我什至试图删除变量,但不知何故将其设置在某个地方...
答案 0 :(得分:0)
在评论中由@JohnLBevan回答。
相关问题: The PowerShell ISE sometimes behaves unpredictably after code changes are made
最后添加$ timer.Dispose()使其可以在ISE上运行。