-1

このコードでは、関数は vsphere cmd-let を使用して、リスト ボックスから選択された VM に基づいて CPU 番号を取得しています。出力は別のリストボックスに機能していましたが、結果をラベルに出力できるようにしたいです

function fill_updatelistbox 
{
$vmlist1 = Get-vm -Name $listBox1.SelectedItem | select NumCPU
foreach ($vm1 in $vmlist1)
{
$label1.Text($vm1.NumCPU)
}
}


$label1.DataBindings.DefaultDataSourceUpdateMode = 0
$System_Drawing_Point = New-Object System.Drawing.Point
$System_Drawing_Point.X = 400
$System_Drawing_Point.Y = 115
$label1.Location = $System_Drawing_Point
$label1.Name = "label1"
$System_Drawing_Size = New-Object System.Drawing.Size
$System_Drawing_Size.Height = 23
$System_Drawing_Size.Width = 100
$label1.Size = $System_Drawing_Size
$label1.TabIndex = 0
$label1.Text = ""

編集:以下のコードはリストボックスを使用して機能しました

function fill_updatelistbox
{
$vmlist1 = Get-vm -Name $listBox1.SelectedItem | select NumCPU
foreach ($vm1 in $vmlist1)
{
[void]$listBox2.Items.Add($vm1.NumCPU)
}
}

$tabPage2.Controls.Add($panel2)
$listBox2.DataBindings.DefaultDataSourceUpdateMode = 0
$listBox2.FormattingEnabled = $True
$System_Drawing_Point = New-Object System.Drawing.Point
$System_Drawing_Point.X = 1
$System_Drawing_Point.Y = 1
$listBox2.Location = $System_Drawing_Point
$listBox2.Name = "listBox2"
$System_Drawing_Size = New-Object System.Drawing.Size
$System_Drawing_Size.Height = 369
$System_Drawing_Size.Width = 160
$listBox2.Size = $System_Drawing_Size
$listBox2.TabIndex = 0
$panel2.Controls.Add
4

1 に答える 1

0

参考までに、これをテストするリソースはありませんが、お手伝いします。まず、ラベルが単一項目のテキストボックスであるため、リストボックスが単一選択であることを確認してください:)次に、次を試すことができます。

function fill_updatelistbox 
{
#Should return a single VirtualMachine object
$vm = Get-vm -Name ($listBox1.SelectedItem.toString())
$label1.Text = $vm.NumCPU.toString()
}
于 2013-01-09T18:25:07.320 に答える