主要就是几个要点:
1、多线程
2、按钮位置改变计算(不要超出界面)
3、资源的使用(主要是只要一个exe就可以,不用多余的文件)
直接代码吧,没啥好讲的。主要是我用来哄老婆的(* ̄︶ ̄)
public partial class Form1 : Form { private bool IsForgive = false; private int index = 0; private List<Bitmap> files = new List<Bitmap> { Resource1.pic1, Resource1.pic2 }; private Random random; public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { var thread = new Thread(PicChange); thread.IsBackground = true; thread.Start(); } private void PicChange() { while (!IsForgive) { Image img= files[index++ % files.Count]; pictureBox1.Image = img; pictureBox1.SizeMode = PictureBoxSizeMode.StretchImage; Thread.Sleep(1000); } pictureBox1.Image = Resource1.forgive; } private void button2_MouseMove(object sender, MouseEventArgs e) { random = new Random(DateTime.Now.Millisecond); var r1 = random.Next(100, 200); var r2 = random.Next() % 2 == 1 ? -1 : 1; var point = button2.Location; point.X = Math.Abs(point.X + (r1) * r2) % (this.Size.Width - button2.Size.Width); point.Y = Math.Abs(point.Y + (r1) * r2) % (this.Size.Height - button2.Size.Width); button2.Location = point; } private void button1_Click(object sender, EventArgs e) { button2.Hide(); button1.Hide(); IsForgive = true; Image image = Resource1.forgive; pictureBox1.Image = image; } }
效果界面: