zoukankan      html  css  js  c++  java
  • C#模拟MSN窗体抖动

    C#模拟MSN窗体抖动

    窗体抖动是件很有意思的事情,就让我们看看一起来看看它的原理吧。 
    其实是生成随机数,然后改变Form的左上角的坐标。
    我用的是循环来弄得,其实可以用timer来控制.

     我把抖动分成了两种抖动:
    1。 生成随机数,改变窗体左上角坐标,然后立即把窗体的坐上角坐标还原,继续循环。
    2。 生成随机数,改变窗体左上角坐标,循环完毕之后,然后立即把窗体的坐上角坐标还原。

    核心代码如下:


    //第一种抖动
            private void button1_Click(object sender, EventArgs e)
            {
                int recordx = this.Left;            //保存原来窗体的左上角的x坐标
                int recordy = this.Top;             //保存原来窗体的左上角的y坐标

                Random random = new Random();      

                for (int i = 0; i < 100; i++)
                {
                    int x = random.Next(rand);
                    int y = random.Next(rand);
                    if (x % 2 == 0)
                    {
                        this.Left = this.Left + x;
                    }
                    else
                    {
                        this.Left = this.Left - x;
                    }
                    if (y % 2 == 0)
                    {
                        this.Top = this.Top + y;
                    }
                    else
                    {
                        this.Top = this.Top - y;
                    }

                    this.Left = recordx;            //还原原始窗体的左上角的x坐标
                    this.Top = recordy;             //还原原始窗体的左上角的y坐标
                }
               
            }


            //第二种抖动
            private void button2_Click(object sender, EventArgs e)
            {
                int recordx = this.Left;
                int recordy = this.Top;
                Random random = new Random();
                for (int i = 0; i < 50; i++)
                {
                    int x = random.Next(rand);
                    int y = random.Next(rand);
                    if (x % 2 == 0)
                    {
                        this.Left = this.Left + x;
                    }
                    else
                    {
                        this.Left = this.Left - x;
                    }
                    if (y % 2 == 0)
                    {
                        this.Top = this.Top + y;
                    }
                    else
                    {
                        this.Top = this.Top - y;
                    }
                    System.Threading.Thread.Sleep(1);
                }
                this.Left = recordx;
                this.Top = recordy;
            }

  • 相关阅读:
    Python文件相关的操作
    Python运算符
    字符串方法
    Python列表的增删改查和元祖
    压测
    jmeter相关使用
    charles的使用
    接口测试
    编程珠玑之关键字(1)--《c语言深度剖析》整理(转)
    循环单链表操作(转)
  • 原文地址:https://www.cnblogs.com/gc2013/p/3719339.html
Copyright © 2011-2022 走看看