Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
点击C#标签时,标签应该做不同的事情_C#_Label_Eventhandler - Fatal编程技术网

点击C#标签时,标签应该做不同的事情

点击C#标签时,标签应该做不同的事情,c#,label,eventhandler,C#,Label,Eventhandler,我需要一个标签,它做的每一个点击不同的东西 private void open_Click(object sender, EventArgs e) { for (int i = 0; i < 5; i++) { builder = new StringBuilder(4); builder.Append(zahl1.Text); builder.Append(zahl2.Tex

我需要一个标签,它做的每一个点击不同的东西

 private void open_Click(object sender, EventArgs e)
    {
        for (int i = 0; i < 5; i++)
        {
            builder = new StringBuilder(4);
            builder.Append(zahl1.Text);
            builder.Append(zahl2.Text);
            builder.Append(zahl3.Text);
            builder.Append(zahl4.Text);

            code = builder.ToString();

        }
        if( code== setCode)
        {
            openAndClose.BackColor = Color.DarkGreen;
            setNewCode.Visible = true;

        }
        else
        {

        }

    }

谢谢

您应该能够通过一个全局字段来获得您想要的内容,该字段指示标签是否已被单击过

简而言之,首先将您的标志设置为
false
,执行如下操作:

EventHandler() 
{
     if(!flag) 
     {
          BackColour = Green
          Visible = true          
     }
     else
     {
          BackColour = Red
          Visible = false          
     }
     flag = !flag
}

附加多个事件处理程序只需每次调用多个事件处理程序。

我认为您甚至不需要额外的布尔值或检查。您只需检查是否可见,然后隐藏,如果不可见,则将其显示。

您只需执行以下操作:

if(code == setCode)
{
    openAndClose.BackColor = openAndClose.BackColor == Color.DarkGreen ? Color.Red : Color.DarkGreen;
    setNewCode.Visible = !setNewCode.Visible;
}

第一部分在绿色和红色之间切换颜色,第二部分在可见性之间切换。

使用布尔数据类型,首先单击将其设置为true,第二次单击“检查变量是否为真”,然后加载上一个颜色,但它应该首先检查代码是否正确,如果正确,它应该更改颜色,如果再次单击,它应该返回到开始位置,if应该再次工作。@aha364636:在这种情况下,您需要在手之前添加这些检查并采取相应的行动。我始终需要单击两次设置新代码,然后才能将其更改为绿色。您知道它是否来自您的代码吗?第一次单击时的代码是否=设置代码?如果没有,那么代码将不会按照您的示例运行。因此,请查看是否可以调试代码以查看值。
if(code == setCode)
{
    openAndClose.BackColor = openAndClose.BackColor == Color.DarkGreen ? Color.Red : Color.DarkGreen;
    setNewCode.Visible = !setNewCode.Visible;
}