简体   繁体   English

单击时更改 label 背景颜色

[英]Change label backcolor when click

Hello guys i have a easy problem here, if i click the label1 it will change back Color to Red but my default Back Color is transparent.大家好,我这里有一个简单的问题,如果我点击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;
   }

what if i click the label again i want it to change color to transparent, how do i code that?如果我再次单击 label 怎么办,我希望它把颜色变为透明,我该如何编码? Thank you in advance: :D提前谢谢你::D

label.BackColor = Color.Transparent;

You just need to flip the color based on its current value. 您只需要根据其当前值翻转颜色。 That can be done by doing: 可以这样做:

label1.BackColor = label1.BackColor == Color.Red ? Color.Transparent : Color.Red;

The above is a conditional operator and is basically just shorthand for an if/else statement, 以上是conditional operator ,基本上只是if / else语句的简写,

if (label1.BackColor == Color.Red)
    label1.BackColor = Color.Transparent
else
    label1.BackColor = Color.Red;

Why don't you just add an if statement: 为什么不添加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;
   }

by using the line Label label1 = (Label)sender; 通过使用Label行label1 =(Label)sender; You can apply the same event for all your labels. 您可以对所有标签应用相同的事件。

if( label.BackColor == Color.Red)
{
     label.BackColor = Color.Transparent;
}else
{
    label.BackColor = Color.Red;
}

So I wanna know how to set an rgb value for the back color, how do I do that?所以我想知道如何为背景颜色设置 rgb 值,我该怎么做?

I wanna change it from 30, 30, 30 to 36, 36, 36 on hover because Im trying to remake notepad我想在 hover 上将其从 30、30、30 更改为 36、36、36,因为我试图重新制作记事本

i am cancled now lol我现在 取消 了哈哈

h H

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM