Windows窗体无法访问PowerShell变量

时间:2016-01-02 06:25:28

标签: windows user-interface powershell

我正在尝试在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?

1 个答案:

答案 0 :(得分:3)

您在$testResults范围内分配Button_Click变量,因此当您离开该范围时,您将丢失该变量。您应该将变量保存在范围内,当您按下$TroubleButton1按钮时,该范围将存在。或者您可以从$ResultLabel1标签中选择值而不是变量:

[System.Windows.Forms.MessageBox]::Show($ResultLabel1.Text)