首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >FlowLayout控制事件

FlowLayout控制事件
EN

Stack Overflow用户
提问于 2018-07-04 09:46:25
回答 1查看 41关注 0票数 1

FlowLayout中有许多按钮。当我点击按钮时,我想要改变正常的颜色。当我第一次单击时,按钮的颜色会发生变化。这里没有问题,但是当我第二次单击另一个按钮时,我之前单击的按钮没有恢复。我该怎么做?

代码语言:javascript
复制
 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);
        }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-07 21:50:48

代码语言:javascript
复制
  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;
        }

}

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51170693

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档