大家好,我这里有一个简单的问题,如果我单击label1
它会变回颜色为红色,但我的默认背景颜色是透明的。
private void label_Click(object sender, EventArgs e)
{
label1.BackColor = Color.Red;
}
private void label2_Click(object sender, EventArgs e)
{
label2.BackColor = Color.Red;
}
如果我再次单击标签,我希望它的颜色更改为透明,我该如何编码?提前谢谢你!:D
label.BackColor = Color.Transparent;
您只需要根据其当前值翻转颜色。这可以通过执行以下操作来完成:
label1.BackColor = label1.BackColor == Color.Red ? Color.Transparent : Color.Red;
以上是一个conditional operator
,基本上只是 if/else 语句的简写,
if (label1.BackColor == Color.Red)
label1.BackColor = Color.Transparent
else
label1.BackColor = Color.Red;
你为什么不添加一个if
语句:
private void label_Click(object sender, EventArgs e)
{
if(label1.BackColor == Color.Red)
{
label1.BackColor = Color.Transparent;
}
else
{
label1.BackColor = Color.Red;
}
}
private void label_Click(object sender, EventArgs e)
{
Label label1 = (Label)sender;
if (label1.BackColor == Color.Red)
label1.BackColor = Color.Transparent;
else
label1.BackColor = Color.Red;
}
通过使用行标签标签1 = (标签)发件人;您可以为所有标签应用相同的事件。
if( label.BackColor == Color.Red)
{
label.BackColor = Color.Transparent;
}else
{
label.BackColor = Color.Red;
}