我正在尝试创建8个标签,并编辑它们的.Text属性。
我已经搜索了一段时间,但无法在线找到任何东西。不过,我可能搜索不正确。
这是我要做的事的一个例子:
for ($i=1; $i -le 8; $i++)
{
New-Object -TypeName System.Windows.Forms.Label | New-Variable -name "testing$i"
$testing$($i).Text = 'text of label'
}
我觉得我已经很接近了,但是我已经没有想法了。我想知道有人是否有资源或建议。
谢谢!
答案 0 :(得分:1)
使用收藏集
$labels = 1..8 | foreach-object { New-Object -TypeName System.Windows.Forms.Label }
$labels | foreach-object { $_.Text = 'text of label' }
答案 1 :(得分:1)
TessellatingHeckler's answer向您展示了另一种方法,该方法不需要声明单个变量(每个标签一个),通常更可取。
如果您确实希望使用标签专用变量,则:
for ($i=1; $i -le 8; $i++)
{
New-Object -TypeName System.Windows.Forms.Label | New-Variable -name testing$i
Set-Variable -Name testing$i -Value 'text of label'
}
就像您使用New-Variable
cmdlet通过动态构造的名称 创建 变量一样,您需要Set-Variable
来< em>设置它(分配给它)。
作为分配的LHS,必须在前缀$
后加上 literal 变量名,这就是$testing$($i)
的原因。失败。