《窗体抖动.doc》由会员分享,可在线阅读,更多相关《窗体抖动.doc(2页珍藏版)》请在三一文库上搜索。
1、窗体抖动是件很有意思的事情,就让我们看看一起来看看它的原理吧。 其实是生成随机数,然后改变Form的左上角的坐标。我用的是循环来弄得,其实可以用timer来控制.我把抖动分成了两种抖动:1。 生成随机数,改变窗体左上角坐标,然后立即把窗体的坐上角坐标还原,继续循环。2。 生成随机数,改变窗体左上角坐标,循环完毕之后,然后立即把窗体的坐上角坐标还原。核心代码如下:/第一种抖动 private void button1_Click(object sender, EventArgs e) int recordx = this.Left; /保存原来窗体的左上角的x坐标 int recordy = t
2、his.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;
3、 /还原原始窗体的左上角的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;