private void label1_Click(object sender, EventArgs e)
{
if ((sender as Label).BackColor == Color.FromArgb(128, 255, 128))
{
(sender as Label).BackColor = Color.Yellow;
}
if ((sender as Label).BackColor == Color.Yellow)
{
(sender as Label).BackColor = Color.FromArgb(128, 255, 128);
}
}我点了,为什么没有变颜色呢?
{
if ((sender as Label).BackColor == Color.FromArgb(128, 255, 128))
{
(sender as Label).BackColor = Color.Yellow;
}
if ((sender as Label).BackColor == Color.Yellow)
{
(sender as Label).BackColor = Color.FromArgb(128, 255, 128);
}
}我点了,为什么没有变颜色呢?
如果是的话,你把他设置为黄色过后,然后又把他变回来了private void label1_Click(object sender, EventArgs e)
{
Lable lbl = sender as Label;
if(lbl == null)
{
return;
}
else if(lbl.BackColor == Color.FromArgb(128, 255, 128))
{
lbl.BackColor = Color.Yellow;
}
else if(lbl.BackColor == Color.Yellow)
{
lbl..BackColor = Color.FromArgb(128, 255, 128);
}
}
然后你又判断 =Color.Yellow;时候
改成原来那颜色,当然不变了
你把第二个IF改成else
你这两个IF,是都执行的好不
if(a==0)
{
a=1;
}
if(a==1)
{
a=0;
}
ARGB=(255, 236, 233, 216)
this.lable.BackColor=....
你的循环有问题,应改为private void label1_Click(object sender, EventArgs e)
{
if ((sender as Label).BackColor == Color.FromArgb(128, 255, 128))
{
(sender as Label).BackColor = Color.Yellow;
}
else {
(sender as Label).BackColor = Color.FromArgb(128, 255, 128);
}
}
第一个if将颜色变为黄色,那么就满足第二个if的条件了,所以你做了一遍等于没做。
至于有时候点两下才会变色,我想你是不是点击太快的关系。