首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

C# 实现窗体抖动解决办法

2012-06-01 
C# 实现窗体抖动http://blog.csdn.net/jianuMan/archive/2010/06/18/5678912.aspxQQ有窗体抖动的功能 其实

C# 实现窗体抖动
http://blog.csdn.net/jianuMan/archive/2010/06/18/5678912.aspx

QQ有窗体抖动的功能 其实这个功能实现起来很简单。间隔一定时间,改变窗体的位置,必须是围绕起始位置改变窗体位置,否则就成窗体移动了。

C# code
using System;using System.Drawing;using System.Windows.Forms;namespace twitter{    public partial class Form1 : Form    {        public Form1()        {            InitializeComponent();        }        private void button1_Click(object sender, EventArgs e)        {            Random ran = new Random((int)DateTime.Now.Ticks);            Point point = this.Location;            for (int i = 0; i < 40; i++)            {                this.Location = new Point(point.X + ran.Next(8) - 4, point.Y + ran.Next(8) - 4);                System.Threading.Thread.Sleep(15);                this.Location = point;                System.Threading.Thread.Sleep(15);            }        }    }}


[解决办法]
楼主搞的不错啊!
顶一下

对于定时执行某些动作的代码,我认为Thread.Sleep()的方法更专业一点。

关于Timer 与 Thread.Sleep()的性能比较,这有个帖子
http://blog.csdn.net/gisfarmer/archive/2009/03/13/3986277.aspx
[解决办法]
楼主用随机数的想法,很好很创意!!

#13楼说的那样,用上一大堆数学函数来计算是为什么?
抖动本来就是一个随机的动作啊,非要那么“专业”的抖才叫抖动吗?理论依据是什么?
[解决办法]
应该在timer控制下抖动,而不是在一个for循环内,同意
[解决办法]
學習了,感覺隨機的好

热点排行