Как организовать цикл отключения combobox'ов из динамически формирующихся элементов имени combobox'ов?
Исходный код без оптимизацииfunction ClearOuList($count)
{
#$comboboxOuNext1.DataSource = $null
switch ($count) {
1 {
$comboboxOuNext1.visible = $false
$comboboxOuNext2.visible = $false
$comboboxOuNext3.visible = $false
$comboboxOuNext4.visible = $false
$comboboxOuNext5.visible = $false
$comboboxOuNext6.visible = $false
$comboboxOuNext7.visible = $false
$comboboxOuNext8.visible = $false
$comboboxOuNext9.visible = $false
$comboboxOuNext10.visible = $false
}
2 {
$comboboxOuNext2.visible = $false
$comboboxOuNext3.visible = $false
$comboboxOuNext4.visible = $false
$comboboxOuNext5.visible = $false
$comboboxOuNext6.visible = $false
$comboboxOuNext7.visible = $false
$comboboxOuNext8.visible = $false
$comboboxOuNext9.visible = $false
$comboboxOuNext10.visible = $false
}
3 {
$comboboxOuNext3.visible = $false
$comboboxOuNext4.visible = $false
$comboboxOuNext5.visible = $false
$comboboxOuNext6.visible = $false
$comboboxOuNext7.visible = $false
$comboboxOuNext8.visible = $false
$comboboxOuNext9.visible = $false
$comboboxOuNext10.visible = $false
}
4 {
$comboboxOuNext4.visible = $false
$comboboxOuNext5.visible = $false
$comboboxOuNext6.visible = $false
$comboboxOuNext7.visible = $false
$comboboxOuNext8.visible = $false
$comboboxOuNext9.visible = $false
$comboboxOuNext10.visible = $false
}
5 {
$comboboxOuNext5.visible = $false
$comboboxOuNext6.visible = $false
$comboboxOuNext7.visible = $false
$comboboxOuNext8.visible = $false
$comboboxOuNext9.visible = $false
$comboboxOuNext10.visible = $false
}
6 {
$comboboxOuNext6.visible = $false
$comboboxOuNext7.visible = $false
$comboboxOuNext8.visible = $false
$comboboxOuNext9.visible = $false
$comboboxOuNext10.visible = $false
}
7 {
$comboboxOuNext7.visible = $false
$comboboxOuNext8.visible = $false
$comboboxOuNext9.visible = $false
$comboboxOuNext10.visible = $false
}
8 {
$comboboxOuNext8.visible = $false
$comboboxOuNext9.visible = $false
$comboboxOuNext10.visible = $false
}
9 {
$comboboxOuNext9.visible = $false
$comboboxOuNext10.visible = $false
}
10 {
$comboboxOuNext10.visible = $false
}
}
Не понимание заключается в формировании имени combobox в цикле для его последующего отключения. Если формировать динамическое имя в цикле, из части имени необходимой переменной+переменной цикла (например: $comboboxOuNext$i, где $i=8), то получается теряется контроль над настоящим именем combobox, так как составная переменная является уже строковой переменной и у неё нет свойств типа visible, например. Такая переменная не является ссылкой на необходимый объект combobox и не является его настоящим именем, хоть визуально и идентично. Если создавать переменную типа combobox, то всё равно такая конструкция не работает, так как получается что это, видимо, другой внутрипроцедурный объект... Может существуют какие-нибудь указатели на нужные объекты, которые можно динамически формировать в циклах и которые будут правильно на них указывать?