在WinForms窗体中如何实现使一个窗体的抖动功能: bool IsShake = false; // 窗体抖动标识 int second = 1; // 窗体抖动次数 // 点击"抖动窗体"按钮 private void btnShake_Click(object sender, EventArgs e) { if (!IsShake) { Point point = new Point(); point = this.Location; // 保存原来位置 int X = this.Location.X; // 窗体的宽度 int Y = this.Location.Y; // 窗体的高度 int R = 3; // 半径 for (int i = 1; i <= 2; i++) { for (int j = 1; j <= 180; j++) { double dx = Math.Sin(Math.PI / 45 * j); double dy = Math.Cos(Math.PI / 45 * j); Point Location = new Point((int)(R * dx + X), (int)(R * dy + Y)); this.Location = Location; Thread.Sleep(1); } } this.Location = point; IsShake = true; //开始时间控件 tmrShake.Start(); //时间控件运行的间隔时间 tmrShake.Interval = 1000; } else { MessageBox.Show("您发送抖动窗体过于频繁,请稍候再发。"); } } //控制窗体抖动的 Trim控件 private void tmrShake_Tick(object sender, EventArgs e) { //控制窗体抖动次数 if (second == 5) { //停止时间控件 tmrShake.Stop(); second = 1; IsShake = false; } second++; }