中文字幕在线一区二区在线,久久久精品免费观看国产,无码日日模日日碰夜夜爽,天堂av在线最新版在线,日韩美精品无码一本二本三本,麻豆精品三级国产国语,精品无码AⅤ片,国产区在线观看视频

      如何用C#制作氣泡屏幕保護

      時間:2024-06-24 05:14:34 ACCP培訓 我要投稿
      • 相關推薦

      如何用C#制作氣泡屏幕保護

        氣泡屏幕保護制作要點:1 窗口要全屏置頂 2 模擬氣泡的滾動和粘滯效果 3 支持快捷鍵ESC退出大致就是這3個要點了,其他還有一些細節我們在程序中根據需要再看,OK,開工!

        首先是全屏置頂,因為是屏幕保護嘛,這個簡單,在窗體的屬性設置里把FormBorderStyle設置為none表示無邊框,把ShowInTaskbar設置為false表示不在任務欄出現,最后一個把WindowState設置為Maximized表示最大化即可,當然可以設置TopMost為true讓窗口置頂,不過這個不是絕對的,如果有其他窗口也使用TopMost的話會讓我們失去焦點,所以我們要注冊一個快捷鍵讓程序可以退出!

        模擬氣泡我們可以用Graphics類中的DrawEllipse方法來畫一個圓,當然這個圓我們可以指定不同的顏色和大小,這里重點講一下怎么模擬粘滯效果!

        所謂粘滯效果相信大家到知道,膠體大家都見過吧?就是類似膠體那種有彈性并且可以在改變形狀后回復原型的那種效果,當然這里要想模擬這個效果只能說是稍微類似,DrawEllipse方法中最后兩個參數表示圓的大小,我們可以在這里做文章,由于循環的速度很快,我們只要動態改變圓的大小就可以產生類似粘滯的效果,當然這個改變大小的參數不能太大,否則就無效了!

        我們在onpaint事件中寫入如下代碼來繪制一些圓:

        01.Random ra = new Random(); //初始化隨機數

        02. bmp = new Bitmap(ClientSize.Width,ClientSize.Height, e.Graphics);

        03. Graphics bmpGraphics = Graphics.FromImage(bmp);

        04. // 繪制圓形

        05. for (int i=1;i<=13;i++)//這里繪制13個圓形

        06. {

        07. bmpGraphics.DrawEllipse(new Pen(Color.FromName(colours[i]),2),//根據事先定義好的顏色繪制不同顏色的圓

        08. ballarray[i, 1], ballarray[i, 2], 70+ra.Next(1, 10), 70+ra.Next(1, 10));

        09. //注意上面的最后兩個參數利用隨機數產生粘滯效果

        10. }

        11. e.Graphics.DrawImageUnscaled(bmp, 0, 0);

        12. bmpGraphics.Dispose();

        13. bmp.Dispose();//這里是非托管的垃圾回收機制,避免產生內存溢出

        這樣,通過以上代碼就可以繪制出一些不同顏色的具有粘滯效果的圓來模擬氣泡

        下面是注冊系統熱鍵,有個API函數RegisterHotKey可以完成系統快捷鍵的注冊,使用他之前我們要先引用一個系統的DLL文件:USER32.DLL,然后對這個RegisterHotKey函數進行一下聲明:

        1.[DllImport("user32.dll")]//引用USER32.DLL

        2.public static extern UInt32 RegisterHotKey(IntPtr hWnd, UInt32 id, UInt32 fsModifiers, UInt32 vk); //聲明函數原型

        由于引用了一個DLL文件,我們不要忘了在文件頭加入DLLImport的類聲明using System.Runtime.InteropServices;然后在Form1的構造函數中來注冊一個系統熱鍵,這里我們注冊ESC:RegisterHotKey(this.Handle, 247696411, 0, (UInt32)Keys.Escape); 通過以上步驟,我們就可以注冊一個或多個系統熱鍵,但是,注冊系統熱鍵后我們還不能立即使用,因為我們在程序中還無法對這個消息進行響應,我們重載一下默認的WndProc過程來響應我們的熱鍵消息:

        01.protected override void WndProc(ref Message m)//注意是保護類型的過程

        02. {

        03. const int WM_HOTKEY = 0x0312;

        04. }

        05. if (m.Msg == WM_HOTKEY & & m.WParam.ToInt32() == 247696411) //判斷熱鍵消息是不是我們設置的

        06. {

        07. Application.Exit();//如果消息等于我們的熱鍵消息,程序退出

        08. }

        09. base.WndProc(ref m);//其他消息返回做默認處理

        好了,通過以上一些步驟,我們就基本完成了這個屏幕保護程序的要點設計,其他的詳細過程可以參考源碼,程序運行的時候背景是透明的,這個也不難實現

        1.this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(192)))), ((int)(((byte)(192)))));

        2.this.TransparencyKey = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(192)))), ((int)(((byte)(192)))));

        TransparencyKey可以讓窗體的某個顏色透明顯示,我們只要把窗體的顏色和TransparencyKey的顏色設置一致就可以了,這里我設置的是粉紅,注意最好設置的顏色是窗體所沒有的,否則一旦匹配將會以透明顯示!

      【如何用C#制作氣泡屏幕保護】相關文章:

      如何用Word制作常用公文10-31

      如何用PPT制作變形動畫07-30

      如何用SWFText制作flash動畫09-05

      HTML文檔設置為屏幕保護的功能10-19

      如何用Word軟件制作常用公文07-05

      如何用ImageReady制作漸隱Gif動畫09-16

      win7怎么設置屏幕保護時間10-18

      win7系統屏幕保護如何設置11-03

      C# AutoResetEvent的使用10-29

      如何用Flash軟件制作書法卷軸動畫11-03

      主站蜘蛛池模板: 精品久久久久88久久久| 黎城县| 亚洲国产色婷婷久久99精品91| 盖州市| 武穴市| 久久这里只有精品日本| 亚洲成在人网av天堂| 新乡市| 内地自拍三级在线观看| 亚洲av乱码一区二区三区女同 | 国产精品性一区二区三区| 蜜桃av观看亚洲一区二区| 少妇高潮紧爽免费观看| 欧美日本国产亚洲网站免费一区二区 | 铜陵市| 田东县| 察哈| 亚洲中文字幕久爱亚洲伊人| 人妻少妇被猛烈进入中文字| 精品乱码一区内射人妻| 日本熟妇高潮爽视频在线观看| 日本一区二区精品专区| 亚洲 国产 韩国 欧美 在线| 亚洲午夜亚洲精品国产成人| 日本一区二区三区东京热| 日韩精品久久久中文字幕人妻| av中文码一区二区三区| 国产日韩亚洲一区二区| 久久精品视频中文字幕无码| 本溪市| 揄拍成人国产精品视频肥熟女| 国产不卡一区二区av| 亚洲综合自拍偷拍视频| 国产美女三级视频网站| 一级无码啪啪| 日韩极品视频在线观看| 国产一区二区三区免费精品| 久久视频一区二区三区在线观看| 蜜桃精品一区二区三区视频| 国产精品亚洲精品国自产| 按摩女内射少妇一二三区 |