我正在尝试在Windows窗体中显示PowerShell变量。我在表格上有一个按钮和一个标签。我可以在标签上显示TestFunction返回的字符串,但不能在Form弹出窗口中显示。
这是我的PowerShell脚本:
function TestFunction()
{
return "PASSED"
}
Function Button_Click()
{
$testResults = TestFunction
$ResultLabel1.Text = $testResults ## this works - I can see "PASSED"
$TroubleButton1.Add_Click(
{
# This does not work
[System.Windows.Forms.MessageBox]::Show($testResults)
}
)
}
## Call function
Button_Click
为什么表单认为$ testResults为NULL?
答案 0 :(得分:3)
您在$testResults
范围内分配Button_Click
变量,因此当您离开该范围时,您将丢失该变量。您应该将变量保存在范围内,当您按下$TroubleButton1
按钮时,该范围将存在。或者您可以从$ResultLabel1
标签中选择值而不是变量:
[System.Windows.Forms.MessageBox]::Show($ResultLabel1.Text)