亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

C#制作簡易的屏保

 更新時間:2017年01月03日 09:20:55   作者:邪心魔佛一頁書  
這篇文章主要為大家詳細(xì)介紹了C#制作簡易的屏保的相關(guān)資料,C#如何制作屏保的過程,具有一定的參考價值,感興趣的小伙伴們可以參考一下

前言:前段時間,有個網(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)事件代碼:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Reflection;
using System.IO;

namespace MyScreenSaver
{
 public partial class FrmMyScr : Form
 {
 public FrmMyScr()
 {
  InitializeComponent();
  this.DoubleBuffered = true;//設(shè)置本窗體
  SetStyle(ControlStyles.UserPaint, true);
  SetStyle(ControlStyles.AllPaintingInWmPaint, true);
  SetStyle(ControlStyles.DoubleBuffer, true);
 }
 Timer NowTime = new Timer();

 private void FrmMyScr_Load(object sender, EventArgs e)
 {
  Assembly asm = this.GetType().Assembly;
  Stream stream = asm.GetManifestResourceStream("MyScreenSaver.Resources.BgrdImg.jpg");
  this.BackgroundImage = new Bitmap(stream);

  this.Click += new System.EventHandler(Exit);
  this.BackColor = System.Drawing.Color.White;
  this.lblTimeNow.Location = new System.Drawing.Point((this.Size.Width / 10), this.Size.Height / 5 * 4);

  NowTime.Interval = 10;
  this.NowTime.Tick += new System.EventHandler(LableTimeText);
  NowTime.Start();
 }

 private void Exit(object sender, EventArgs e)
 {
  Application.Exit();
 }
 private void LableTimeText(object sender, EventArgs e)
 {
  lblTimeNow.Text = DateTime.Now.ToString();
 }

 private void FrmMyScr_Deactivate(object sender, EventArgs e)
 {
  Application.Exit();
 }
 }
}

到此為止,把程序執(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)建的,默認(rèn)的目標(biāo)框架為.NET Framework 4.5,這樣運行生成的可執(zhí)行文件MyScreenSaver.exe及MyScreenSaver.scr文件在外部均能夠正常運行;但拷貝到C:\Windows\System32下,運行就報錯:"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:\Windows\System32下運行也沒有問題了。另外我發(fā)現(xiàn)目標(biāo)框架為.NET Framework 2.0時也沒有問題。真是奇怪!具體原因,筆者暫時不明所以。系統(tǒng)為Windows 7 旗艦版 SP1。

源代碼:http://xiazai.jb51.net/201701/yuanma/MyScreenSaver(jb51.net).rar

參考文章:http://chabaoo.cn/article/101845.htm

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • c# winform 解決PictureBox 無法打印全部圖片的問題

    c# winform 解決PictureBox 無法打印全部圖片的問題

    這篇文章主要介紹了c# winform 解決PictureBox 無法打印全部圖片的問題,幫助大家更好進行c# winform開發(fā),感興趣的朋友可以了解下
    2020-12-12
  • 解析C#中#region與#if的作用

    解析C#中#region與#if的作用

    以下是對C#中#region與#if的作用進行了詳細(xì)的介紹,需要的朋友可以過來參考下
    2013-09-09
  • C#回收機制之資源回收托管

    C#回收機制之資源回收托管

    這篇文章介紹了C#回收機制之資源回收托管,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-05-05
  • asp.net(c#)編程實現(xiàn)將彩色圖片變灰階圖片的方法示例

    asp.net(c#)編程實現(xiàn)將彩色圖片變灰階圖片的方法示例

    這篇文章主要介紹了asp.net(c#)編程實現(xiàn)將彩色圖片變灰階圖片的方法,結(jié)合實例形式分析了C#圖片讀取及屬性操作相關(guān)技巧,需要的朋友可以參考下
    2017-07-07
  • C#判斷字符串中內(nèi)容是否為純數(shù)字的詳細(xì)教程

    C#判斷字符串中內(nèi)容是否為純數(shù)字的詳細(xì)教程

    在進行C#編程時候,有的時候我們需要判斷一個字符串是否是數(shù)字字符串,下面這篇文章主要給大家介紹了關(guān)于C#判斷字符串中內(nèi)容是否為純數(shù)字的詳細(xì)教程,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-04-04
  • C#正則表達式之Ismatch()的用法解讀

    C#正則表達式之Ismatch()的用法解讀

    這篇文章主要介紹了C#正則表達式之Ismatch()的用法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • c# AES字節(jié)數(shù)組加密解密流程及代碼實現(xiàn)

    c# AES字節(jié)數(shù)組加密解密流程及代碼實現(xiàn)

    這篇文章主要介紹了c# AES字節(jié)數(shù)組加密解密流程及代碼實現(xiàn),幫助大家更好的理解和使用c#,感興趣的朋友可以了解下
    2020-11-11
  • C#使用DataSet Datatable更新數(shù)據(jù)庫的三種實現(xiàn)方法

    C#使用DataSet Datatable更新數(shù)據(jù)庫的三種實現(xiàn)方法

    這篇文章主要介紹了C#使用DataSet Datatable更新數(shù)據(jù)庫的三種實現(xiàn)方法,需要的朋友可以參考下
    2014-08-08
  • C#操作INI文件的示例代碼

    C#操作INI文件的示例代碼

    這篇文章主要為大家詳細(xì)介紹了C#操作INI文件的相關(guān)知識,文中的示例代碼講解詳細(xì),具有一定的借鑒價值,感興趣的小伙伴可以跟隨上班一起學(xué)習(xí)一下
    2023-12-12
  • 分析C# Dictionary的實現(xiàn)原理

    分析C# Dictionary的實現(xiàn)原理

    對于C#中的Dictionary類相信大家都不陌生,這是一個Collection(集合)類型,可以通過Key/Value(鍵值對的形式來存放數(shù)據(jù);該類最大的優(yōu)點就是它查找元素的時間復(fù)雜度接近O(1)。那么什么樣的設(shè)計能使得Dictionary類實現(xiàn)O(1)的時間復(fù)雜度呢
    2021-06-06

最新評論