C#在点击不同的标签时,分别显示已红色为背景

.Net技术 码拜 3年前 (2017-04-19) 373次浏览
C#在点击不同的标签时,分别显示已红色为背景,Label标签都在一个大的Panel里
在点击label1时 显示红色,其它label都是白色
在点击label2时 显示红色 ,其它label都是白色
问一下在每一个点击事件怎么写
private void label1_Click(object sender, EventArgs e)
{

}
C#在点击不同的标签时,分别显示已红色为背景

解决方案

20

使用Panel的循环查找,各个label click事件共用同一个方法:

        private void label1_Click(object sender, EventArgs e)
        {
            changeBackColor(label1);
        }
        private void label2_Click(object sender, EventArgs e)
        {
            changeBackColor(label2);
        }
        private void label3_Click(object sender, EventArgs e)
        {
            changeBackColor(label3);
        }
        private void label4_Click(object sender, EventArgs e)
        {
            changeBackColor(label4);
        }
        void changeBackColor(Label label)
        {
            foreach (Label lb in panel1.Controls)
            {
                if (lb == label)
                {
                    lb.BackColor = Color.Red;
                }
                else lb.BackColor = panel1.BackColor;
            }
        }

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明C#在点击不同的标签时,分别显示已红色为背景
喜欢 (0)
[1034331897@qq.com]
分享 (0)