Visual Studio 2010(VS)--消消乐定制版⑥
Visual Studio 2010(VS)--消消乐定制版⑥
上期回顾(上期主要是画了标签的引用,达到单击某一个控件时能够显示图形文字):
本期将继续做一个定时器响应程序,用来隐藏点击后的图案隐藏
1.0 找到左侧边的工具箱--组件,找到timer定时器,双击,就会出现如下图
1.1 设置定时器temer1的属性,
Enabled = False //仍旧保留
Interval(定时事件) = 750
2.0 双击定时器timer1,生成响应程序,当定时器时间到的时候,就把刚才单击两次显示的图形隐藏,并重置
private void timer1_Tick(object sender, EventArgs e)
{
//定时事件到了就停止定时器
timer1.Stop();
//把刚才单击两次显示的控件覆盖隐藏
firstClicked.ForeColor = firstClicked.BackColor;
secondClicked.ForeColor = secondClicked.BackColor;
//重置2个引用变量,使其下次能再次记忆两次单击
firstClicked = null;
secondClicked = null;
}
3.0 在单击组件响应程序label_Click中,添加定时器开启检测代码,如果单击的时候,定时器时开启的说明这是第三次按键,就不会执行显示
private void label_Click(object sender, EventArgs e)
{
//检测当前定时器是否开启
if(timer1.Enabled == true)
return;
//当单击其中一个控件时,会把控件对象强制转换成文本标签控件
Label clickedLabel = sender as Label;
}
}
3.1 添加第二次按键后显示图形,最后开启定时器
private void label_Click(object sender, EventArgs e)
{
//检测当前定时器是否开启
if(timer1.Enabled == true)
return;
//当单击其中一个控件时,会把控件对象强制转换成文本标签控件
Label clickedLabel = sender as Label;
//如果当前标签不为空,说明目前控件上有显示图片文字
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;//显示黑色
//当第二次的时候开启定时器
timer1.Start();
}
}
4.0 按F5调试,就会出现单击一下显示1个,单击两下显示第二个,然后定时一段时间,隐藏