点击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;
}