单击时更改标签背景颜色



大家好,我这里有一个简单的问题,如果我单击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;
}

相关内容

  • 没有找到相关文章

最新更新