Member 12370240 Ответов: 1

Можно ли перебирать кнопки и устанавливать видимость?


У меня есть winform с 20 кнопками. Возможно ли что-то подобное при загрузке формы:
for(i=1; i<=20; i++)
    if(somevalue == 1)
    {
        button(i).Visible = true;
    }
    else
    {
        button(i).Visible = false;
    }
"somevalue" - это ссылка на значение в Excel.

Поэтому я хочу, чтобы кнопки были видны или скрыты в зависимости от соответствующего значения. Это совпадающее значение хранится во внешнем документе (excel).

Что я уже пробовал:

В принципе, я хочу установить видимость кнопок в настройках пользователя, но это мне не удается. Я ищу правильный код в C#, но все еще без каких-либо успехов.

1 Ответов

Рейтинг:
10

OriginalGriff

Да:

foreach (Control c in Controls)
   {
   Button b = c as Button;
   if (b != null)
      {
      b.Visible = someValue == 1;
      }
   }
Если ваши кнопки находятся в контейнере, таком как панель, то вам может потребоваться проверить только панель.Управляет коллекцией или рекурсирует все коллекции c., чтобы найти их.