m-sk43 Ответов: 1

Нужна помощь..для кода управления несколькими кнопками в visual studio 2019


как я могу написать цикл для изменения цвета фона нескольких кнопок в одном событии щелчка мыши?
допустим , у меня есть 20 кнопок в моей программе, если я нажму на одну кнопку, она должна изменить цвет фона всех 20 кнопок . я не хочу писать 20 строк. я действительно попробовал это в цикле с кнопкой(i), но ошибка получения "кнопка является типом класса и не может быть использована в качестве выражения" я использую visual studio 2019. любое предложение!!!!!

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

петля с кнопкой(i) , а также btn в виде строки="Button" & (i)

1 Ответов

Рейтинг:
12

phil.o

Вы можете поместить 20 кнопок в список.
По щелчку мыши: повторите список и измените цвет.

public class TheForm : Form
{
   private List<Button> _theList = new List<Button>();

   public TheForm()
   {
      InitializeComponent();
      PopulateList();
   }

   private void PopulateList()
   {
      _theList.AddRange(new Button[] {
         button01, button02, button03, button04, button05,
         button06, button07, button08, button09, button10,
         button11, button12, button13, button14, button15,
         button16, button17, button18, button19, button20
      });
   }

   private void TheButton_Click(object sender, EventArgs e)
   {
      foreach (Button button in _theList)
      {
         button.BackColor = /* the colour */;
      }
   }
}
button01 к button20 являются Nameс кнопки случаях в форме.


m-sk43

Спасибо, Фил, очень ценю