zoukankan      html  css  js  c++  java
  • 前段时间蛮火的哄老婆的小玩具

       主要就是几个要点:

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

    效果界面:

  • 相关阅读:
    SignalR 持久链接 (该功能为手机设备与后台同个用户id进行实现的,仅用signalR学习参考)
    SQL SERVER 分割符转列
    js时间计算加减
    SQL查询历史执行语句
    MSSQL 多行数据串联字符分割单行
    居于HttpWebRequest的HTTP GET/POST请求
    硬件UDP读数AsynUdpClient
    SQL取分组数据的所有第一条数据
    Python 文件的使用
    Python 数据类型
  • 原文地址:https://www.cnblogs.com/moshanghuakai/p/9441512.html
Copyright © 2011-2022 走看看