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

  • 相关阅读:
    C# 保存图片文件异常--文件名、目录名或卷标语法不正确。
    NPOI 导出Excel WPS格式正常 Office格式异常
    ionic 项目安装依赖出现以下错误
    关于升级npm 出现 “Refusing to delete C:UsersltAppDataRoaming pm px.cmd:”
    关于 NPOI 单元的样式CellStyle问题
    c# 字符串的比较大小
    c# 根据路径获取文件信息以及删除文件
    Eclipse 快捷键大全
    Smarty 的安装
    js实现页面跳转的几种方式
  • 原文地址:https://www.cnblogs.com/gc2013/p/3719339.html
Copyright © 2011-2022 走看看