欢迎来到代码驿站!

.NET代码

当前位置:首页 > 软件编程 > .NET代码

C#模拟MSN窗体抖动的实现代码

时间:2020-11-13 08:38:09|栏目:.NET代码|点击:

基于C#实现窗体的抖动是件很有意思的事情,原理并不难,其实是生成随机数,然后改变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# 中string.split用法详解

栏    目:.NET代码

下一篇:asp.net 动态输出透明gif图片

本文标题:C#模拟MSN窗体抖动的实现代码

本文地址:http://www.codeinn.net/misctech/22020.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有