动态生成结果,而不是手动输入数组中的每个值

时间:2017-11-02 23:32:22

标签: winforms powershell

我正确填充了下拉列表。我无法弄清楚的是如何动态循环选择以获得我需要的结果。

enter image description here

下面的代码显示了如果选择是下拉菜单中前两个选项之一,会发生什么。我显然无法为140个项目中的每个项目添加elseif语句。我需要一种方法来说明如果选择了数组中的第二个元素,请将值动态地放在脚本写入的文本文件中。

$Projects_Num = Import-Csv c:\temp\pm_project.csv

Update-ComboBox $Projects $Projects_Num "Number"

$Projects_SelectedIndexChanged = {
    if ($Projects.text -contains "FOAH18") {
        Write-Host "Project FOAH18 chosen"
        $Date = (Get-Date -Format "MM-dd-yyyy")
        $DateTime = (Get-Date)
        Add-Content c:\temp\$Date.txt $DateTime
        Add-Content c:\temp\$Date.txt "This 15 minutes is dedicated to FOAH18"
    } elseif ($Projects.text -contains "FOAH278") {
        Write-Host "Project FOAH278 chosen"
        $Date = (Get-Date -Format "MM-dd-yyyy")
        $DateTime = (Get-Date)
        Add-Content c:\temp\$Date.txt $DateTime
        Add-Content c:\temp\$Date.txt "This 15 minutes is dedicated to FOAH278"
    } elseif ($Projects.text -contains "FOAH313") {
        Write-Host "Project FOAH313 chosen"
        $Date = (Get-Date -Format "MM-dd-yyyy")
        $DateTime = (Get-Date)
        Add-Content c:\temp\$Date.txt $DateTime
        Add-Content c:\temp\$Date.txt "This 15 minutes is dedicated to FOAH313"
    }
}

1 个答案:

答案 0 :(得分:2)

如果您每次都记录相同的事情,您可以

$selectedText = $Projects.text
Write-host "Project $selectedText chosen"
...
...
Add-Content C:\temp\$Date.txt "This 15 minutes is dedicated to $selectedText"

如果您对特定选择有特殊条件,则可能需要使用if语句进行检查