成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

詳解C#制作屏幕保護

開發 后端
本文介紹C#制作屏幕保護,打開Visual Studio.net2005建立一個windows項目。這次的屏保是模仿Windows XP自帶的一個屏幕保護。

初學C#的時候就曾想過C#制作屏幕保護,當時覺得很深奧,摸不著頭緒,就放棄了。今日又重新拾起,突然覺得也就是那么一回事,知道了就很簡單了。好的,下面就介紹一下如何利用C#制作屏幕保護。

打開Visual Studio.net2005(其他版本也差不多),建立一個windows項目。這次的屏保是模仿Windows XP自帶的一個屏幕保護。

 

Windows XP自帶屏幕保護

    
    

    把窗口的屬性設置一下:
    1.首先把 WindowState 設置為 FormWindowState.Maximized 這樣窗口就可以在打開之后呈現***化的狀態。
    2.把TopMost 設置為true,這樣使得窗口處于最頂層,就是所謂的“永遠在前”,相信用過千千靜聽,金山詞霸等軟件的朋友應該熟悉。
    3.把FormBorderStyle 設置為FormBorderStyle.None ,這樣窗口就沒有邊框,即沒有了標題欄,周圍的一圈邊框。也就省去了一個個去掉MaximizeBox ,MinimizeBox了。
    4.把BackColor設置為Color.Black, 這樣窗口背景色就變成黑色了
    5.ShowInTaskBar 設置為false,(這個步驟可以省去,本身***化就看不到任務欄了)
    其他的屬性修改都是多余了,當然把name等等類似改改也行,總之,上面5個(嚴格的說4個)弄好了,UI方面就設計完畢了。

    下面拖動一個timer控件進來,將其Enabled屬性設置為true,Interval設置為10000(因為以milliseconds為單位,所以這里設置為10,000,也就是10s)。
    加timer控件是為了每隔一定的事件觸發一個事件。因此給timer加一個事件,點擊Solution Explorer 上面的閃電圖標,添加唯一的一個Tick事件。
    下面就開始設計算法了,其實也是再簡單不過了,隨機產生一個點,然后再該處繪制預先準備好的圖片。(如果為了好看點,可以設置坐標之間的關系)

    1. privatereadonlyintscreenWidth;  
    2. privatereadonlyintscreenHeight;  
    3. privateBitmapbitmap=newBitmap("ms.bmp");  
    4. privateRandomrandom=newRandom();  
    5. privateintx=0;  
    6. privateinty=0

    增加若干成員變量, 挺有self-documenting的味道,我就不過多解釋了,前兩個是標志屏幕的寬度和高度,
    然后是一個位圖對象,存儲預先準備的圖片,這里是一張bitmap。random是一個隨機類對象,用來產生隨機點的。再下面分別是產生的隨機點的x,y坐標。

    構造函數內添加

    1. Rectangle rect = Screen.PrimaryScreen.Bounds;  
    2. screenWidth = rect.Width;  
    3. screenHeight = rect.Height; 

    ***句話是用來獲得整個顯示器的邊界范圍。然后分別把寬度和高度賦值給成員變量。
    注:Screen類提供了一些與顯示器相關的屬性,感興趣的朋友可以參閱MSDN
    下面填補Tick事件

    1. privatevoidtimer1_Tick(objectsender,EventArgse)  
    2. {  
    3. x=random.Next(screenWidth);  
    4. y=random.Next(screenHeight);  
    5. if(x+bitmap.Width>screenWidth)  
    6. {  
    7. x=screenWidth-bitmap.Width;  
    8. }  
    9. if(y+bitmap.Height>screenHeight)  
    10. {  
    11. y=screenHeight-bitmap.Height;  
    12. }  
    13. this.Invalidate();  
    14. }  

    上面是獲取一個x,y坐標分別不大于顯示器的寬度和高度的點。為了美觀一點,判斷圖片是否超過屏幕邊界,對x,y進行了一些處理, 不是很難,相信大家都能看懂。***刷新屏幕,調用paint事件。
    我想您一定知道了,對, 在Form的paint事件里面有了一句畫圖的語句,回答正確!

    1. e.Graphics.DrawImage(bitmap, x, y, bitmap.Width,bitmap.Height); 

    Image 對象存儲像素寬度值及水平分辨率值(每英寸點數)。圖像的物理寬度(以英寸為單位)等于像素寬度除以水平分辨率。例如,像素寬度為 216、水平分辨率為 72 點/英寸的圖像的物理寬度為 3 英寸。此說明同樣適用于像素高度和物理高度。

    此方法使用圖像的物理大小繪制圖像,因此無論顯示設備的分辨率(每英寸點數)是多少,圖像大小(以英寸為單位)都是正確的。例如,假定圖像的像素寬度為 216,水平分辨率為 72 點/英寸。如果調用此方法在分辨率為 96 點/英寸的設備上繪制該圖像,則所呈現圖像的像素寬度是 (216/72)*96 = 288。

    哈哈,也就是說前者在用圖片的物理大小,后者使用指定大小。物理大小在不同的水平分辨率的顯示器上顯示的始終是圖片的真實大小。(注意,bitmap 的width和height返回的大小都是以 pixel(像素)為單位的)。疑云頓時解開了!

    ***添加一個程序退出的操作,這里我使用的是鍵盤按下或者鼠標焦點變換。這個不難,略過。

    到此為止,把程序執行一下就可以看到預期的效果了。***把bin/debug或者bin/release下的可執行程序后綴改成scr,并拷貝到系統盤Windows的system32下(圖片也拷貝進去哦!)
    這樣通過桌面屬性的屏幕保護程序設置一下就可以投入使用了,C#制作屏幕保護是不是很炫呢!趕緊試試吧!

    【編輯推薦】

    1. 分析C#不安全代碼
    2. 淺析C#調用ImageAnimator
    3. C#連接Access、SQL Server數據庫
    4. 淺談C#固定的和活動的變量
    5. 介紹C#中的值類型
    責任編輯:佚名 來源: 百度空間
    相關推薦

    2009-08-13 17:15:44

    C#屏幕保護程序

    2009-08-14 17:09:48

    C#引用類型

    2009-09-01 16:07:04

    C#命名規約

    2009-07-30 18:20:21

    C#繼承

    2009-08-24 11:23:41

    C# TimeLabe

    2009-09-07 16:13:56

    C# MessageB

    2009-08-25 17:13:57

    C#串口編程

    2009-09-02 13:15:23

    C#數組復制

    2009-09-02 17:12:06

    C#關機代碼

    2009-09-04 14:14:55

    C#文檔

    2009-09-02 09:24:03

    C# this關鍵字

    2024-03-04 18:49:59

    反射C#開發

    2009-09-01 10:37:51

    C#項目代碼C#代碼規范

    2009-08-27 14:29:15

    C# explicti

    2009-08-03 13:13:52

    C#調用Outlook

    2009-08-25 18:04:30

    C#實現Singlet

    2009-08-20 11:01:51

    C#操作內存

    2009-08-20 13:47:57

    C#驗證輸入方法

    2009-08-18 10:14:19

    C#插件構架

    2009-09-09 18:50:23

    C# 加密RSA
    點贊
    收藏

    51CTO技術棧公眾號

    主站蜘蛛池模板: 欧美综合一区二区 | 国产精品自产拍 | 大学生a级毛片免费视频 | 国产精品视频一区二区三区四区国 | 天堂一区在线观看 | 亚洲va欧美va天堂v国产综合 | 日韩在线精品视频 | 九九热在线观看 | 日韩精品中文字幕一区二区三区 | 欧美亚洲另类丝袜综合网动图 | 午夜精品一区二区三区在线观看 | 国产精品a免费一区久久电影 | 国产精品久久九九 | 国产色婷婷精品综合在线手机播放 | www午夜视频| 中文字幕一区二区在线观看 | www.黄网| 亚洲欧美日韩国产 | 可以免费观看的av片 | av黄色在线| 久久久激情 | 久久青青 | 激情久久久久 | 久久69精品久久久久久久电影好 | 国产一区二区三区久久久久久久久 | 久久婷婷色 | 亚洲人精品午夜 | 免费黄网站在线观看 | 色av一区二区 | 国产专区在线 | 一级做a爰片性色毛片16 | 羞羞视频在线观看免费观看 | 欧美成人猛片aaaaaaa | av中文字幕在线播放 | 国产性网| 99精品欧美一区二区蜜桃免费 | 亚洲国产中文在线 | 国产精品久久久久久久久久久久 | 麻豆一区一区三区四区 | 亚洲国产成人在线视频 | 亚洲视频在线看 |