powershell windows.forms.listbox带有对象列表中的对象



我喜欢知道我应该超载到对象中的哪种方法在powershell windows.forms.listbox中获取自定义文本字符串显示。我尝试了这个和其他变体,但无济于事:

$vms_listbox = New-Object System.Windows.Forms.ListBox
$vms = Get-VM
#
# Overload ToSTring (I thought this would do)
#
$vms | Add-Member ScriptMethod ToString { $This.Name } -Force
$vms | Foreach {
    [Void]$vms_listbox.Items.Add($_)
}

我已经尝试了ITH添加会员ScriptProperty,CodeMethod,codeproperty,但是ListBox仍然没有显示我打算显示的值,在这种情况下为虚拟机名。

我可以将虚拟名称添加到列表中:

预先感谢。

您需要告诉他ListBox哪个属性包含项目的显示名称。

替换:

$vms_listbox = New-Object System.Windows.Forms.ListBox

with:

$vms_listbox = New-Object System.Windows.Forms.ListBox
$vms_listbox.DisplayMember = "Name"

最新更新