Задать вопрос
  • Как организовать цикл из динамически формирующихся элементов?

    @Jordan_H Автор вопроса
    10 раз:
    bool Equals(System.Object obj) int GetHashCode() type GetType() bool IsValidValue(System.Object value) string ToString() System.Collections.ObjectModel.Collection[System.Attribute] Attributes {get;} string Description {get;set;} psmoduleinfo Module {get;} string ModuleName {get;} string Name {get;} System.Management.Automation.ScopedItemOptions Options {get;set;} System.Object Value {get;set;} System.Management.Automation.SessionStateEntryVisibility Visibility {get;set;}
    (Рабочий вывод работающей не динамической переменной (Get-Variable comboboxOuNext1 | gm) — точно такой же.)
  • Как организовать цикл из динамически формирующихся элементов?

    @Jordan_H Автор вопроса
    Да, надо быть более внимательным, думал сейчас всё взлетит, но:
    Не удается найти свойство "visible" для данного объекта. Убедитесь, что оно существует и его можно задать.
    ERROR: + ...                (Set-Variable comboboxOuNext$i).value.visible = $false

    (без ".value" ситуация такая-же)
  • Как организовать цикл из динамически формирующихся элементов?

    @Jordan_H Автор вопроса
    Если с "(get-Variable $comboboxOuNext$i).value.visible", то:
    get-Variable : Не удается найти переменную с именем System.Windows.Forms.ComboBox, Items.Count: 109.
    ERROR: +                     $tmp = (get-Variable $comboboxOuNext$i).value.vis ...


    Если с "(get-Variable $comboboxOuNext$i).visible"", то:
    get-Variable : Не удается найти переменную с именем System.Windows.Forms.ComboBox, Items.Count: 109.
    ERROR: +                     $tmp = (get-Variable $comboboxOuNext$i).visible


    Если с "(Set-Variable $comboboxOuNext$i).value.visible", то:
    Не удается найти свойство "visible" для данного объекта. Убедитесь, что оно существует и его можно задать.
    ERROR: + ...               (Set-Variable $comboboxOuNext$i).value.visible = $false


    Если с "(Set-Variable $comboboxOuNext$i).visible", то:
    Не удается найти свойство "visible" для данного объекта. Убедитесь, что оно существует и его можно задать.
    ERROR: +                     (Set-Variable $comboboxOuNext$i).visible = $false


    Но posh уже, вроде как, понимает, что тип у несуществующей переменной "System.Windows.Forms.ComboBox", что есть правильно. Экспериментирую дальше..
  • Как организовать цикл из динамически формирующихся элементов?

    @Jordan_H Автор вопроса
    Спасибо за попытки обнаружить истину :)
    Да, переменные есть, их 10 штук и все они — объект типа combobox. Получать сведения из них не нужно, надо манипулировать со свойством "Visible", для этого, полагаю, get-variable не поможет.

    Если пользоваться "Get-Variable", то параметры комбобокса не извлекаются, так как не происходит обращение к нужному объекту:
    Get-Variable : Не удается проверить аргумент для параметра "Name". Аргумент имеет значение NULL. Укажите допустимое значение аргумента, после чего повторите выполнение команды.
    ERROR: + ...                $tmp= get-Variable "$comboboxOuNext$i".visible --AllSc ...


    Если пользоваться "Set-Variable", то параметры комбобокса также не устанавливаются, так как не происходит обращение к нужному объекту:
    Set-Variable : Не удается привязать аргумент к параметру "Name", так как он имеет значение NULL.
    ERROR: +                     Set-Variable "$comboboxOuNext$i".visible = $false


    Модификация кода для "Get-variable"
    function ClearOuList($count)
    {
    	#$comboboxOuNext1.DataSource = $null
    	switch ($count)
    	{
    		1 {
    			for ($i = 0; $i -lt 10; $i++)
    			{
    				#New-Variable "comboboxOuNext$i" --AllScope
    				#Set-Variable "$comboboxOuNext$i".visible = $false --AllScope
    				$tmp= get-Variable "$comboboxOuNext$i".visible --AllScope
    				$useroutputbox.AppendText("[OK] Видимость комбобокса $($i)= $($tmp)`n`n")
  • Как организовать цикл из динамически формирующихся элементов?

    @Jordan_H Автор вопроса
    Andrew AT, Спасибо за подсказку, но это и есть тот случай, когда не происходит обращение к необходимому комбобоксу по его динамически формируемому имени, как я и описывал: «Не удается найти свойство "visible" для данного объекта. Убедитесь, что оно существует и его можно задать.» Формируется просто переменная, которая не ссылается на необходимый комбобокс. В результате так и остаётся не понятным как оптимизировать код.
    Модифицированная часть кода:
    function ClearOuList($count)
    {
    	#$comboboxOuNext1.DataSource = $null
    	switch ($count)
    	{
    		1 {
    			for ($i = 0; $i -lt 10; $i++)
    			{
    				New-Variable "comboboxOuNext$i" --AllScope
    				"$comboboxOuNext$i".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
    			}
    		}
  • Как организовать цикл из динамически формирующихся элементов?

    @Jordan_H Автор вопроса
    Остальной код не относится к сути вопроса. Комбобоксов всего 10. Задача выяснять имена не стоит, они известны (в блоке кода). Вопрос в оптимизации корректного обращения к комбобоксу в цикле, при формировании динамического имени комбобокса (детали в описании вопроса). Наводка про локальный кэш осталась не понятной.
  • Zabbix_Sender проблема с отправкой?

    @Jordan_H
    Кратко и ёмко, спасибо, заработало)