利用 Random 產生隨機位移,快速改變 Form.Left/Top,再還原,產生抖動視覺效果。
private void button1_Click(object sender, EventArgs e)
{
int recordX = this.Left, recordY = this.Top;
Random rnd = new Random();
for (int i = 0; i < 100; i++)
{
int x = rnd.Next(10), y = rnd.Next(10);
this.Left += (x % 2 == 0) ? x : -x;
this.Top += (y % 2 == 0) ? y : -y;
this.Left = recordX; this.Top = recordY; // 立即還原
}
}
private void button2_Click(object sender, EventArgs e)
{
int recordX = this.Left, recordY = this.Top;
Random rnd = new Random();
for (int i = 0; i < 50; i++)
{
int x = rnd.Next(10), y = rnd.Next(10);
this.Left += (x % 2 == 0) ? x : -x;
this.Top += (y % 2 == 0) ? y : -y;
Thread.Sleep(1); // 短暫延遲讓畫面更新
}
this.Left = recordX; this.Top = recordY;
}
Timer 控制頻率,避免阻塞 UI 執行緒。