我喜欢知道我应该超载到对象中的哪种方法在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"