为了账号安全,请及时绑定邮箱和手机立即绑定

FlowLayout 控制事件

FlowLayout 控制事件

C#
不负相思意 2021-09-19 16:20:07
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 回答

?
湖上湖

TA贡献2003条经验 获得超2个赞

  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;

        }

}


查看完整回答
反对 回复 2021-09-19
  • 1 回答
  • 0 关注
  • 209 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信