C#模拟MSN窗体抖动的实现代码
基于C#实现窗体的抖动是件很有意思的事情,原理并不难,其实是生成随机数,然后改变Form的左上角的坐标即可。
这里用的是循环来实现的,其实还可以用timer来控制.
我把抖动分成了两种抖动:
1.生成随机数,改变窗体左上角坐标,然后立即把窗体的坐上角坐标还原,继续循环。
2.生成随机数,改变窗体左上角坐标,循环完毕之后,然后立即把窗体的坐上角坐标还原。
主要功能代码如下:
//第一种抖动
privatevoidbutton1_Click(objectsender,EventArgse)
{
intrecordx=this.Left;//保存原来窗体的左上角的x坐标
intrecordy=this.Top;//保存原来窗体的左上角的y坐标
Randomrandom=newRandom();
for(inti=0;i<100;i++)
{
intx=random.Next(rand);
inty=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坐标
}
}
//第二种抖动
privatevoidbutton2_Click(objectsender,EventArgse)
{
intrecordx=this.Left;
intrecordy=this.Top;
Randomrandom=newRandom();
for(inti=0;i<50;i++)
{
intx=random.Next(rand);
inty=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;
}热门推荐
7 简短的二胎祝福语
10 简短霸气女儿生日 祝福语
11 祝福语高考小众诗句简短
12 元旦祝福语20秒简短
13 老师过年祝福语大全 简短
14 一生祝福语简短
15 产检祝福语简短霸气
16 朋友店开张祝福语简短
17 生日爱情祝福语大全简短
18 朋友女儿生日祝福语 简短