日期:2014-05-17  浏览次数:21414 次

C# WinForm编程:点击某一按钮,该按钮颜色改变,其他按钮颜色无变化。在点击另一个按钮,该按钮颜色改变,其他按钮颜色变成一个颜色。
C# WinForm编程:一个界面上的一个Panel面板中有多个 button 按钮,请问怎样做,当点击某一个button 按钮时,该button 按钮的背景颜色和字体颜色发生改变,而其他按钮的背景颜色和字体颜色一样。当点击另一个按钮时,这个button 按钮的背景颜色和字体颜色发生改变,而第一次点击的按钮和其他按钮的背景颜色和字体颜色一样。

重点实现:点击某一按钮,该按钮颜色改变,其他按钮颜色无变化。在点击另一个按钮,该按钮颜色改变,其他按钮颜色变成一个颜色。只是点击的按钮和未被点击的按钮的颜色不一样。
winform 编程 界面 c#

------解决方案--------------------
private void button_Click(object sender, EventArgs e)
        {
            //遍历所有组件
            foreach (Control ctl in panel.Controls)
            {
                //如果组件是按钮
                if (ctl is Button)
                {
                    if (ctl.Equals(sender))
                    {
                        //ctl是当前点击的那个按钮
                    }
                    else
                    {
                        //ctl是其它按钮
                    }
                }
            }
        }

------解决方案--------------------
弄个变量记住上一次点击的按钮就可以了啊

btnClick(object sender,EventArgs e):
    if(prevBtn!=null) 
        preBtn.BackColor=.....'
    (sender as Button).BackColor=....;
    prevBtn=(Button)sender;