我想在图形用户界面 (GUI) 中使用 PowerShell 计算并显示标签的点击次数。 这是我的脚本:
Add-Type -AssemblyName System.Windows.Forms
# Create form
$form = New-Object Windows.Forms.Form
$form.Text = "Click Counter"
$form.Size = New-Object Drawing.Size(300,150)
# Create label
$label = New-Object Windows.Forms.Label
$label.Text = "Click Count: 0"
$label.AutoSize = $true
$label.Location = New-Object Drawing.Point(20,20)
# Create button
$button = New-Object Windows.Forms.Button
$button.Text = "Click Me"
$button.Location = New-Object Drawing.Point(20,60)
$button.Add_Click({
$clickCount++
$label.Text = "Click Count: $clickCount"
})
# Add controls to the form
$form.Controls.Add($label)
$form.Controls.Add($button)
# Initialize click count
$clickCount = 0
# Show the form
$form.ShowDialog()
但是问题是我无法增加标签中的数字,并且它已固定在数字“1”中
您需要将计数器变量声明为
script:
作用域变量,否则一旦事件完成,其值就会丢失:
$clickCount = 0
$button.Add_Click({
$script:clickCount++
$label.Text = "Click Count: $clickCount"
})
另一种选择是使用引用类型,例如数组:
$clickCount = @(0)
$button.Add_Click({
$clickCount[0]++
$label.Text = "Click Count: $clickCount"
})