Итак, у меня есть переменная массива серверов, динамически созданная из внешнего скрипта. Теперь мне нужно заполнить форму своего графического интерфейса списком флажков для каждого сервера. Это будет работать как механизм выбора при развертывании на упомянутые серверы.Переменная Расширение в пределах другой переменной (Powershell)
Поскольку я не знаю, сколько серверов будет в моем списке, эта форма должна будет иметь флажки, созданные динамически. Проблема, с которой я столкнулась, заключается в настройке параметров этих новых переменных и добавлении в форму. Я просто не понимаю, как я могу заставить PS расширить мою переменную итератора в имени переменной флажка. Вот что я в настоящее время, которые будут создавать свои переменные, но не применить обновления параметров:
$form1.Text = "Server Selection"
$form1.Name = "form1"
$form1.DataBindings.DefaultDataSourceUpdateMode = 0
$System_Drawing_Size = New-Object System.Drawing.Size
$System_Drawing_Size.Width = 235
$System_Drawing_Size.Height = 500
$form1.ClientSize = $System_Drawing_Size
$i = 0
$y = 0
$serverList | %{
New-Variable -Name "Checkbox$i" -value (New-Object System.Windows.Forms.CheckBox)
set-variable -name "Checkbox$i.VisualStyleBackColor" -value $true
$System_Drawing_Size = New-Object System.Drawing.Size
$System_Drawing_Size.Width = 104
$System_Drawing_Size.Height = 24
$Checkbox{i}.Size = $System_Drawing_Size
$Checkbox{i}.TabIndex = $i
$Checkbox{i}.text = $_
$System_Drawing_Point = New-Object System.Drawing.Point
$System_Drawing_Point.X = 60
$System_Drawing_Point.Y = 21 + $y
$Checkbox{i}.Location = $System_Drawing_Point
$Checkbox{i}.DataBindings.DefaultDataSourceUpdateMode = 0
$Checkbox{i}.name = "server"
$y = $y + 20
$i++
$form1.Controls.Add($Checkbox{i})
}
Каждый знает, как я могу сделать это расширение или назначение правильно?
+1 для использования массива для хранения CheckBoxes. –
Отлично! Большое спасибо за вашу помощь, я обязательно буду использовать метод, который вы предлагаете. – Yanagi