using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Collections;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
//定时器委托,用于在图片消失的时候暂停0.6秒
timer1.Tick += new EventHandler(timer1_Tick);
}
PictureBox pic;
List<PictureBox> list=new List<PictureBox>();//存放图片
static int count = 0;// 存放打开图片的数量
private void Form1_Load(object sender, EventArgs e)
{
}
private void handleClick(object sender, EventArgs e)
{
//将发射的信号强制转换为PictureBox判断是哪个picturebox发射的信号
//判断完成之后加入一List<>根据图片的地址判断图片是否“相等”
//时间仓促没时间考虑更好的方法
pic = (PictureBox)sender;
if (pic == pictureBox1)
{
pictureBox1.Load(Application.StartupPath+@"/1.jpg");
count++;
pictureBox1.Enabled = false;
judge(pictureBox1);
list.Add(pictureBox1);
//stack.Push(pictureBox1);
}
else if (pic == pictureBox2)
{
pictureBox2.Load(Application.StartupPath+@"/2.jpg");
count++;
pictureBox2.Enabled = false;
judge( pictureBox2);
//stack.Push(pictureBox1);
list.Add(pictureBox2);
}
else if (pic == pictureBox3)
{
pictureBox3.Load(Application.StartupPath+@"/3.jpg");
count++;
pictureBox3.Enabled = false;
judge( pictureBox3);
list.Add(pictureBox3);
}
else
{
pictureBox4.Load(Application.StartupPath+@"/1.jpg");
count++;
judge( pictureBox4);
pictureBox4.Enabled = false;
list.Add(pictureBox4);
}
//打开的图片数量达到两个的时候调用tick()
if (count == 2)
{
timer1.Start();
}
}
//判断打开的图片是否达到两张,如果超过两张直接切换到背景图片
private void judge(PictureBox pic)
{
if (count > 2)
{
pic.Load(Application.StartupPath+@"/back.jpg");
}
}
void timer1_Tick(object sender, EventArgs e)
{
//throw new NotImplementedException();
if (list[0].ImageLocation == list[1].ImageLocation)
{
list[0].Hide();
list[1].Hide();
}
else
{
list[0].Load(Application.StartupPath + @"/back.jpg");
list[1].Load(Application.StartupPath + @"/back.jpg");
}
count = 0;
list[0].Enabled = true;
list[1].Enabled = true;
list.Clear();
timer1.Stop();
}
}
}