程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C#模仿MSN窗體發抖的完成代碼

C#模仿MSN窗體發抖的完成代碼

編輯:C#入門知識

C#模仿MSN窗體發抖的完成代碼。本站提示廣大學習愛好者:(C#模仿MSN窗體發抖的完成代碼)文章只能為提供參考,不一定能成為您想要的結果。以下是C#模仿MSN窗體發抖的完成代碼正文


基於C#完成窗體的發抖是件很成心思的工作,道理其實不難,實際上是生成隨機數,然後轉變Form的左上角的坐標便可。

這裡用的是輪回來完成的,其實還可以用timer來掌握.

我把發抖分紅了兩種發抖:

1.生成隨機數,轉變窗體左上角坐標,然後立刻把窗體的坐上角坐標復原,持續輪回。
2.生成隨機數,轉變窗體左上角坐標,輪回終了以後,然後立刻把窗體的坐上角坐標復原。

重要功效代碼以下:

//第一種發抖
private void button1_Click(object sender, EventArgs e)
{
  int recordx = this.Left;      //保留本來窗體的左上角的x坐標
  int recordy = this.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;      //復原原始窗體的左上角的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;
}
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved