程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#基礎知識 >> 用C#Builder設計屏幕保護程序

用C#Builder設計屏幕保護程序

編輯:C#基礎知識
屏幕保護程序是以scr為擴展名的標准Windows可執行程序。屏幕保護程序不僅可以延長顯示器的使用壽命,還可以保護私人信息。本文向大家介紹一個用C# Builder編寫的一個動態文本及圖形的屏幕保護程序。

具體實現步驟 

(1)在C# Builder下新建一個C#的Windows應用程序工程,這裡命名為screensaver。

啟動C# Builder,通過菜單File->New->C# Application 

(2)界面的設計

先將窗體的BackColor屬性設置為Black、Size屬性設置為(800, 600)、 ControlBox、MaximizeBox、MinimizeBox、ShowInTaskbar屬性設置均為false、FormBorderStyle屬性設置為None, WindowStaus設為Maximized,StartPosition設置為CenterScreen。

再往窗體上添加Label控件、PictureBox控件、Timer控件各一個。將Label控件的Text屬性設置為“悠游在線歡迎您!”;將PictureBox控件的Name設置為picture1、Image設置為一個預知圖片;將Timer控件的Enabled 屬性設為true、Interval屬性設為5。

(3)程序的編碼

//加入以下私有成員變量

private int iSpeed = 2;

private int iDistance;

private int ixStart= 0;

private int iyStart= 0;

private int speed;

private int x1,y1;

private int width1,height1;

//雙擊Form,在其Load事件輸入下面的代碼:

speed=0;

System.Drawing.Rectangle ssWorkArea=System.Windows.Forms.Screen.GetWorkingArea(this);

//屏幕顯示區域

width1=ssWorkArea.Width; //屏幕寬度

height1=ssWorkArea.Height; //屏幕高度

//From的KeyDown,MouseDown,MouseMove事件中都輸入以下代碼:

Application.Exit();

//timer1的Tick事件輸入下面代碼:

//下面設置文本顯示框的位置坐標

label1.Location =new System.Drawing.Point(width1-iDistance,label1.Location.Y);

label1.Visible=true; //設置為可見

iDistance+=iSpeed;

if(label1.Location.X<=-(label1.Width))

{

iDistance=0;

if(label1.Location.Y==0)

label1.Location=new System.Drawing.Point(label1.Location.X,height1/2);

else if(label1.Location.Y==height1/2)

label1.Location=new System.Drawing.Point(label1.Location.X,height1-label1.Height);

else

label1.Location=new System.Drawing.Point(label1.Location.X,0);

}

//下面是計算圖片框移動坐標

speed++;

if(speed<=2*height1)

{

x1=System.Math.Abs(width1-speed);

y1=System.Math.Abs(height1-speed);

}

else if(speed>2*height1 && speed<=2*width1)

{

x1=System.Math.Abs(width1-speed);

y1=System.Math.Abs(height1-(speed-speed/height1*height1));

}

else if(speed>2*width1 &&speed<=3*height1)

{

x1=System.Math.Abs(width1-(speed-speed/width1*width1));

y1=System.Math.Abs(height1-(speed-speed/height1*height1));

}

else if(speed>3*height1 && speed<4*height1)

{

x1=System.Math.Abs(width1-(speed-speed/width1*width1));

y1=System.Math.Abs(speed-speed/height1*height1);

}

else if(speed>=4*height1 && speed<5*height1)

{

x1=System.Math.Abs(speed-speed/width1*width1);

y1=System.Math.Abs(height1-(speed-speed/height1*height1));

}

else if(speed>=5*height1 && speed<4*width1)

{

x1=System.Math.Abs(speed-speed/width1*width1);

y1=System.Math.Abs(speed-speed/height1*height1);

}

else if(speed>=4*width1 && speed<6*height1)

{

x1=System.Math.Abs(width1-(speed-speed/width1*width1));

y1=System.Math.Abs(speed-speed/height1*height1);

}

else if(speed>=6*height1 && speed<5*width1)

{

x1=System.Math.Abs(width1-(speed-speed/width1*width1));

y1=System.Math.Abs(height1-(speed-speed/height1*height1));

}

else if(speed>=5*width1 && speed<7*height1)

{

x1=System.Math.Abs(speed-speed/width1*width1);

y1=System.Math.Abs(height1-(speed-speed/height1*height1));

}

else if(speed>=7*height1 && speed<6*width1)

{

x1=System.Math.Abs(speed-speed/width1*width1);

y1=System.Math.Abs(speed-speed/height1*height1);

}

if(speed==6*width1)

speed=0;

pictureBox1.Location=new System.Drawing.Point(x1,y1);

( 4)程序的編譯 

最後編譯程序,C# Builder會在工程所在目錄的BIN\Debug\ScreenSaver.exe文件,我們把ScreenSaver.exe改為ScreenSaver.scr,拷入Windows系統目錄中,這樣就可以運行該屏幕保護程序。

在屏幕保護設置為ScreenSaver,看看效果怎麼樣!

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved