如何正确重置增量计数器?

时间:2017-01-04 11:21:11

标签: winforms powershell counter reset

在我的一个脚本中,我使用了一个计数器,如果发生特定事件,我会逐渐增加。我使用以下语法来执行此操作:

if ($IndexPositionTrue) {
    $CorrectTextbox.Text = $script:countercorrect++
}

现在我正在尝试实现一个按钮,您可以将$countercorrect值重置为0.为此我设置了一个带有click_handler的按钮:

$reset = New-Object System.Windows.Forms.Button
$reset.Add_Click($handler_reset_click)
$form1.Controls.Add($Reset)

$handler_reset_click = {
    Reset
}

function Reset {
    Clear-Variable countercorrect
}

我们假设$countercorrect值已增加到5,我使用Reset函数。该值将重置为0,但在下一个增量而不是显示1后,它将显示为6。

我的语法不正确还是我"重置"错误的价值?

2 个答案:

答案 0 :(得分:3)

我认为这是一个范围问题,您可以像这样修改重置功能:

function Reset {
    $script:countercorrect = 0
}

答案 1 :(得分:2)

您可以在If语句中引用$Script:countercorrect,但请参阅功能$countercorrect中的reset。如果认为你在这里使用了错误的范围。

使用功能

function Reset {
Clear-Variable countercorrect -Scope Script
}