大家好,我在这里遇到一个简单的问题,如果我点击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;
答案 0 :(得分:4)
您只需根据其当前值翻转颜色。这可以通过以下方式完成:
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;
答案 1 :(得分:1)
为什么不添加if
声明:
private void label_Click(object sender, EventArgs e)
{
if(label1.BackColor == Color.Red)
{
label1.BackColor = Color.Transparent;
}
else
{
label1.BackColor = Color.Red;
}
}
答案 2 :(得分:0)
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;
}
使用行Label Label1 =(Label)sender;您可以为所有标签应用相同的事件。
答案 3 :(得分:0)
if( label.BackColor == Color.Red)
{
label.BackColor = Color.Transparent;
}else
{
label.BackColor = Color.Red;
}