日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

C#制作简易屏保

發(fā)布時間:2023/12/13 综合教程 29 生活家
生活随笔 收集整理的這篇文章主要介紹了 C#制作简易屏保 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

前言:前段時間,有個網(wǎng)友問我C#制作屏保的問題,我瞬間懵逼了(C#還可以制作屏保!)。于是我去查閱相關(guān)資料,下面把C#如何制作屏保的過程及我學(xué)習(xí)過程的心得也記錄下來,希望對需要的人能有幫助。

基本思路

1)屏保運行起來是一個整個屏幕且無邊框的窗體,不能顯示任務(wù)欄,鼠標(biāo)點擊就會退出。當(dāng)然你還可以在界面上自定義一些東西,如顯示系統(tǒng)時間,屏保里面顯示Rss內(nèi)容等。

2)屏幕保護程序的擴展名雖然是".scr",但本質(zhì)是一個可執(zhí)行的".exe"文件。

具體步驟

打開Visual Studio 2012,建立一個windows項目,取名為MyScreenSaver,并添加一個windows 窗體,取名為FrmMyScr。

設(shè)置FrmMyScr的AutoScaleMode屬性為Font,BackColor屬性為White,F(xiàn)oreColor屬性為ControlText,F(xiàn)ormBoderStyle屬性為None,ShowInTaskbar屬性為False,WindowState屬性為Maximized。

重點:接下來給FrmMyScr添加背景圖片。設(shè)置FrmMyScr的BackGroundImage屬性值如桌面上的bgrdImg.jpg,此時在項目的根目錄下會自動新建Resources文件夾,單擊里面的bgrdImg.jpg,將其文件屬性中“生成操作”的值改為“嵌入的資源”。設(shè)置BackGroundImageLayout屬性為Stretch。

在FrmMyScr中添加一個Label,用于顯示系統(tǒng)時間,取名lblTimeNow,BackColor屬性為Transparent,F(xiàn)oreColor屬性為White。窗體界面如下:

接下來,為窗體編寫相關(guān)事件代碼:

 1 using System;
 2 using System.Collections.Generic;
 3 using System.ComponentModel;
 4 using System.Data;
 5 using System.Drawing;
 6 using System.Linq;
 7 using System.Text;
 8 using System.Threading.Tasks;
 9 using System.Windows.Forms;
10 using System.Reflection;
11 using System.IO;
12 
13 namespace MyScreenSaver
14 {
15     public partial class FrmMyScr : Form
16     {
17         public FrmMyScr()
18         {
19             InitializeComponent();
20             this.DoubleBuffered = true;//設(shè)置本窗體
21             SetStyle(ControlStyles.UserPaint, true);
22             SetStyle(ControlStyles.AllPaintingInWmPaint, true);
23             SetStyle(ControlStyles.DoubleBuffer, true);
24         }
25         Timer NowTime = new Timer();
26 
27         private void FrmMyScr_Load(object sender, EventArgs e)
28         {
29             Assembly asm = this.GetType().Assembly;
30             Stream stream = asm.GetManifestResourceStream("MyScreenSaver.Resources.BgrdImg.jpg");
31             this.BackgroundImage = new Bitmap(stream);
32 
33             this.Click += new System.EventHandler(Exit);
34             this.BackColor = System.Drawing.Color.White;
35             this.lblTimeNow.Location = new System.Drawing.Point((this.Size.Width / 10), this.Size.Height / 5 * 4);
36 
37             NowTime.Interval = 10;
38             this.NowTime.Tick += new System.EventHandler(LableTimeText);
39             NowTime.Start();
40         }
41 
42         private void Exit(object sender, EventArgs e)
43         {
44             Application.Exit();
45         }
46         private void LableTimeText(object sender, EventArgs e)
47         {
48             lblTimeNow.Text = DateTime.Now.ToString();
49         }
50 
51         private void FrmMyScr_Deactivate(object sender, EventArgs e)
52         {
53             Application.Exit();
54         }
55     }
56 }

到此為止,把程序執(zhí)行一下就可以看到預(yù)期的效果了。當(dāng)然你還想給.exe設(shè)置個圖標(biāo),可用圖標(biāo)制作工具制作一個ico圖標(biāo)如favicon.ico并添加到項目根目錄,在項目右鍵屬性的“應(yīng)用程序”選項卡下的“圖標(biāo)和清單”欄,圖標(biāo)下拉選擇favicon.ico,保存后把程序執(zhí)行一下即可。

最后把bin/debug或者bin/release下的可執(zhí)行程序后綴改成scr,并拷貝到系統(tǒng)盤Windows的system32下。

這樣通過桌面?zhèn)€性化的屏幕保護程序設(shè)置一下就可以投入使用了,是不是很炫呢!趕緊試試吧!

總結(jié)

1)我采用將背景圖片作為“嵌入的資源”的方式,將內(nèi)嵌資源編譯進exe文件里面,故無需將背景圖片一同拷貝進去;否則還需將背景圖片一同拷貝進去。

2)這個項目是用VS2012創(chuàng)建的,默認的目標(biāo)框架為.NET Framework 4.5,這樣運行生成的可執(zhí)行文件MyScreenSaver.exe及MyScreenSaver.scr文件在外部均能夠正常運行;但拷貝到C:WindowsSystem32下,運行就報錯:"This application could not be started. Do you want to view information about this issue?"

我試著將目標(biāo)框架修改為.NET Framework 4,重新運行后,MyScreenSaver.exe及MyScreenSaver.scr文件在外部均能夠正常運行,拷貝到C:WindowsSystem32下運行也沒有問題了。另外我發(fā)現(xiàn)目標(biāo)框架為.NET Framework 2.0時也沒有問題。真是奇怪!具體原因,筆者暫時不明所以。系統(tǒng)為Windows 7 旗艦版 SP1。

源代碼:MyScreenSaver.rar

參考文章:http://www.cnblogs.com/flyinghigher/archive/2012/03/20/2408874.html

總結(jié)

以上是生活随笔為你收集整理的C#制作简易屏保的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。