C#中,如何设置窗体变色?(鼠标点一下窗体,窗体backcolor变一次色)

来源:百度知道 编辑:UC知道 时间:2024/06/20 09:17:53
不要求其他的动作,以鼠标单击触发事件
this.backcolor=color.red;
if(this.backcolor==color.red){
this.backcolor=color.blue;
}else if(this.backcolor==color.blue){
this.backcolor=color.yellow;
}运行,鼠标单击,颜色直接变为blue,red不显示,再单击就不变色了,何解?

this.panel1.BackColor = Color.Red;
if (this.panel1.BackColor == Color.Red)
{
this.panel1.BackColor = Color.Blue;
}
else if (this.panel1.BackColor == Color.Blue)
{
this.panel1.BackColor = Color.Yellow;
}

注意看你写的条件.
第一句是:if (this.panel1.BackColor == Color.Red)
因为你的初始值为Red所以这个条件满足
那么问题的出在这里了既然你的第一个条件满足了他还会进你的else if?
应该这样:
this.panel1.BackColor = Color.Red;
if (this.panel1.BackColor == Color.Red)
{
this.panel1.BackColor = Color.Blue;
}

if (this.panel1.BackColor == Color.Blue)
{
this.panel1.BackColor = Color.Yellow;
}

this.backcolor=color.red;
if(this.backcolor==color.red)
{
this.backcolor=color.blue;
}
else if(this.ba