Powershell ComboBox选定文本

时间:2014-04-13 00:41:10

标签: winforms powershell

我在Powershell中有一个组合框的代码如下:

$cbxPort = New-Object Windows.Forms.ComboBox
$cbxPort.Items.AddRange([System.IO.Ports.SerialPort]::GetPortNames())
$cbxPort.Add_SelectedValueChanged({
    $portName = $cbxPort.SelectedText
    Write-Host $portName
})

我尝试使用组合框允许用户选择串口。

无论出于何种原因,只打印一个新行。我确定$ cbxPort.SelectedText返回一个空值,但我不明白为什么。我应该这样做吗?

2 个答案:

答案 0 :(得分:2)

添加到Frode F。

$cbxPort.Add_SelectionChanged({
    $portName = $cbxPort.SelectedItem
    Write-Host $portName
})

尝试Add_SelectionChanged

答案 1 :(得分:1)

SelectedValueSelectedText仅在您在组合框对象中具有ValueMemberDisplayMember时才适用于包含值和displaytexts的任何项属性。

由于您的Item只是一个没有任何属性的字符串对象,并且您还没有指定上面的属性,您需要通过获取Item本身来访问该值。

简单切换到$portName = $cbxPort.SelectedItem就可以了。