Visual Studio 2010(VS)--消消乐定制版⑦
上期回顾(上期主要是做了一个定时器,当单机了两个控件的时候,延时750ms后隐藏控件):
这期要比对第一次选择的图形跟第二次的是不是一样,如果一样就一直显示,不一样则定时隐藏
1.0 在单机组件响应程序label_Click中,最后修改一段代码,
if (clickedLabel != null)
{
//如果目前在显示的控件的前景色时黑色,就返回退出,不然就赋值为黑色
if (clickedLabel.ForeColor == Color.Black)
return;
//clickedLabel.ForeColor = Color.Black;
//如果目前标签为空,如果单击第二次,这时候firstClicked就不会为空了
if (firstClicked == null)
{
firstClicked = clickedLabel;//那他就跟踪当前单击的控件标签
firstClicked.ForeColor = Color.Black;//让他的前景色单独变成黑色,才能显示
return;//当第一次单击后,会用return跳出这个单机响应程序
}
//将secondClicked引用变量跟踪第二个Label控件
secondClicked = clickedLabel;
secondClicked.ForeColor = Color.Black;//显示黑色
//假如第一次单机的控件显示内容跟第二次的相同则不隐藏,清空引用变量
if (firstClicked.Text == secondClicked.Text)
{
firstClicked = null;
secondClicked = null;
return;
}
else
//当第二次的时候开启定时器
timer1.Start();
}
2.0 注解:这里解释下单等号与双等号的区别
firstClicked.Text == secondClicked.Text
firstClicked = null;
这两个语句中的第一句检查两个图标文字是否相同。 因为要比较两个值,所以 Visual C# 程序使用 ==
相等运算符。 第二个语句实际上更改值(称为“赋值”),将 firstClicked
引用变量设置为等于 null
以重置它。 这就是使用 =
赋值运算符的原因。 Visual C# 使用 =
设置值,使用 ==
比较值。 Visual Basic 使用 =
进行变量赋值和比较。
3.0 保存,按F5开始调试,然后单机窗体的图标,如果两个图标内容不符,会触发定时器隐藏,如果两个图标内容相同,则会保持显示