FlowLayout контролирует события - PullRequest
0 голосов
/ 04 июля 2018

В FlowLayout много кнопок. Когда я нажимаю на кнопки, я хочу, чтобы нормальные цвета менялись. Когда я нажимаю в первый раз, цвет кнопки меняется. Здесь нет никаких проблем, но когда я нажимаю на другую кнопку во второй раз, кнопка, которую я нажимал ранее, не восстанавливается. как я могу это сделать?

 int j =1;
    foreach (...)
                 {
                     BunifuFlatButton newButton = new BunifuFlatButton();
                     {
                         newButton.Name = string.Format("Button{0}", j);
                         flowLayoutPanel1.Controls.Add(newButton);
                         newButton.Click += NewButtonOnClick;
                         j++;
                     }

                 }




  private void NewButtonOnClick(object sender, EventArgs eventArgs)
        {
            BunifuFlatButton btn = (BunifuFlatButton)sender;
            btn.Normalcolor = Color.FromArgb(37, 66, 80);
        }

1 Ответ

0 голосов
/ 08 июля 2018
  List<BunifuFlatButton> btnss = new List<BunifuFlatButton>();
    private bool pressed = false;
    private void NewButtonOnClick(object sender, EventArgs eventArgs)
    {
        BunifuFlatButton btn = (BunifuFlatButton)sender;
        if (pressed)
        {
            btnss[0].Normalcolor = Color.FromArgb(37, 37, 37);
            btn.Normalcolor = Color.FromArgb(37, 66, 80);
            pressed = false;
            btnss.Clear();
            btnss.Add(btn);
        }
        else
        {
            if (btnss.Count != 0)
            {
                btnss[0].Normalcolor = Color.FromArgb(80, 80, 80);

            }
            btn.Normalcolor = Color.FromArgb(37, 66, 80);
            btnss.Clear();
            btnss.Add(btn);
            pressed = true;
        }

}

...