项目需要有3个timer来控制不停的移动窗体。 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; //using System.Linq; using System.Text; using System.Windows.Forms; namespace Case01_1 { public partial class Form1 : Form { int ScreenWidth = SystemInformation.PrimaryMonitorMaximizedWindowSize.Width; //屏幕的宽度 int ScreenHeight = SystemInformation.PrimaryMonitorMaximizedWindowSize.Height; //屏幕的高度 Random rd = new Random(); public Form1() { InitializeComponent(); } private void timer1_Tick(object sender, EventArgs e) { Point MyPos = new Point(this.DesktopLocation.X, this.DesktopLocation.Y); //窗体的当前位置 if (MyPos.X + Width < ScreenWidth) { this.DesktopLocation = new Point(MyPos.X + 1,MyPos .Y ); } else { this.DesktopLocation = new Point(0, 0); } } private void button1_Click(object sender, EventArgs e) { this .timer1 .Enabled = true ; this.timer2.Enabled = false; this.timer3.Enabled = false; } private void button2_Click(object sender, EventArgs e) { this.timer1.Enabled = false ; this.timer2.Enabled = true ; this.timer3.Enabled = false; } private void timer2_Tick(object sender, EventArgs e) { Point MyPos = new Point(this.DesktopLocation.X, this.DesktopLocation.Y); //窗体的当前位置 if ( MyPos.Y + Height < ScreenHeight) { this.DesktopLocation = new Point(MyPos.X, MyPos.Y + 1); } else { this.DesktopLocation = new Point(0, 0); } } private void timer3_Tick(object sender, EventArgs e) { int x = rd.Next(1000); int y = rd.Next(700); timer3.Interval = 2000;//2秒移动一次 Point MyPos = new Point(this.DesktopLocation.X, this.DesktopLocation.Y); //窗体的当前位置 if (MyPos.X + Width < ScreenWidth || MyPos.Y + Height < ScreenHeight) { this.DesktopLocation = new Point(x, y);//随即移动 //this.DesktopLocation = new Point(MyPos.X + 1, MyPos.Y + 1);//斜方向移动 } else { this.DesktopLocation = new Point(0, 0); } } private void button3_Click(object sender, EventArgs e) { this.timer1.Enabled = false ; this.timer2.Enabled = false; this.timer3.Enabled = true ; } private void button4_Click(object sender, EventArgs e) { this.timer1.Enabled = false ; this.timer2.Enabled = false; this.timer3.Enabled = false; } private void Form1_Load(object sender, EventArgs e) { this.timer1.Enabled = true; } } }