add_Click不执行块内的代码

时间:2019-06-12 15:23:04

标签: powershell

当尝试执行代码或更新add_Click块内部变量中的值时,它不起作用。我不确定自己做错了什么。而且,我遵循代码的语句认为该变量不存在。

$Button1.add_Click({$authEvent = $true
    $Form.Close() })
$Button2.add_Click({$authEvent = $false
    $Form.Close()
                  })

这应根据单击哪个按钮来更新$authEvent变量。以及关闭表单。

2 个答案:

答案 0 :(得分:2)

检查$ authEvent变量的来源,并在需要时将其分配为全局变量($Global:authEvent

请注意,在首次声明变量时,只需要使用$ Global:选项。所以应该这样使用:

$global:authEvent = $null

$Button1.add_Click({
    $authEvent = $true
    $Form.Close() 
})
$Button2.add_Click({
    $authEvent = $false
    $Form.Close()
})

答案 1 :(得分:1)

感谢IT拖欠者,我已经弄清了这个问题。看来该块实际上确实需要一个全局变量(不确定为什么这样做)。因此,我在脚本的开头声明了全局变量,并从此开始成功。

$global:authEvent = $null

$Button1.add_Click({$global:authEvent = $true
$Form.Close() })
$Button2.add_Click({$global:authEvent = $false
$Form.Close()
})