【问题标题】:FlowLayout Controls EventsFlowLayout 控制事件
【发布时间】:2018-12-12 17:15:42
【问题描述】:

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);
        }

【问题讨论】:

    标签: c# events button colors flowlayout


    【解决方案1】:
      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;
            }
    

    }

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-20
      • 1970-01-01
      • 2019-02-13
      • 2014-04-20
      相关资源
      最近更新 更多