如何获取输入的列表框项目

时间:2018-09-21 18:55:56

标签: powershell listbox

我创建了一个Powershell表单,其中包含一些输入字段,然后再执行任何其他操作,然后检查输入内容。其中一个是一个列表框,其中包含一组数字,这些数字代表我们组织中的打印机编号。

当最终用户通过下拉菜单使用打印机选择项目时,我的脚本可以通过.SelectedItem完美读取。但是,他们也可以在字段中键入数字,而我一直在努力寻找如何在键入而不是选择时从字段中获取值。

列表框:

$dropdown_Machine = New-Object System.Windows.Forms.Combobox
    $dropdown_Machine.Location = New-Object System.Drawing.Size(250,215)
    $dropdown_Machine.Size = New-Object System.Drawing.Size(300,50)
    $dropdown_Machine.Font = $DROPDOWNFONT
    [void] $dropdown_Machine.Items.Add(" ")
    [void] $dropdown_Machine.Items.Add("729")
    [void] $dropdown_Machine.Items.Add("730")
    [void] $dropdown_Machine.Items.Add("744")
    ... some more items ...
    $Form_PrintLabel.Controls.Add($dropdown_Machine)

选中后我的支票有效:

$searchmach = $dropdown_Machine.SelectedItem

键入时,它给我一个空字符串。选择该选项后,它将为我提供预期的输入。

任何人都可以将我推向正确的方向吗?

谢谢。

关于, 迈克

1 个答案:

答案 0 :(得分:0)

if ($dropdown_Machine.SelectedIndex -eq -1) { # nothing selected
    $dropdown_Machine.Text
} else {
    $dropdown_Machine.SelectedItem
}