VC#2005 Starter Kit: Screen Saver 使用介绍

本文是C#屏幕保护程序的使用介绍,未涉及源码分析。程序运用GDI+、System.XML等技术,可从网络下载信息并显示。介绍了编译运行、修改代码、使用选项窗口、安装屏保等操作,还提及屏保的扩展方法,如用键盘控制Item选择等。

如同标题显示的,这只是一篇使用介绍,未涉及源码分析。<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

 

如果你英文够好,看这篇文章可能有些多余,因为完全依照Starter kit的文档所写,你可以自己看那个英文文档。对我自己算是看了实验以后的一点记录。

 

这个Starter Kit是一个屏幕保护程序,跟普通的窗体稍微有些不同,但大家都知道屏保的一些行为,比如鼠标或者键盘有所动作,屏保就会自动关闭。

 

程序使用的相关技术有:

1.GDI+:在屏保上绘制图象跟文本

2.System.XML:其实这个算是这个屏保程序的最大特点,从网络上的Rss Feed或者文本信息显示在屏保上,大家都知道Rss使用的是XML格式,使用这个命名空间的相关类操作也是很自然的事情

4.The WebClient class:从网络上下载信息(由于要从网络上下载信息,所以如果网络不通畅,程序打开的时候会有一段时间没有响应)

5.RSS:包括RSS feeds, channels and items

6.C#2.0语言特性:泛型,这个肯定是要用地…..

 

编译运行

程序是Ready to Run的,你按F5就可以编译运行了,默认的Rss Feed是从微软的网站上的,稍后介绍如何更改,程序自带的图片也不是很好看,呵呵

 

修改代码

显示额外的一行文本:

  1. 找到 Solution Explorer 窗口; 找到 ScreenSaverForm.cs 查看它的代码

  2. 找到 OnPaint 方法

  3. 加入以下代码:
    None.gif e.Graphics.DrawString( " <Your name>C# Screen Saver " , rssView.TitleFont, Brushes.Orange,  new  PointF( 0 0 ));
  4. F5运行程序

 

使用Options Dialog Box

屏保使用命令行参数来显示选项窗口,如果我们要在IDE中使用命令行参数运行程序,可以使用如下步骤:

  1. 打开 Solution Explorer, 双击 Screen Saver project下的Properties节点.
    然后我们就可以配置我们的工程了。

  2. 点击 Debug 标签, 找到 Command Line Arguments 文本框.

  3. 键入 /c 到文本框.
    这样就可以让 Visual C# 使用 /c 命令行参数运行程序.

  4. F5 运行程序.
    选项窗口就出现了.

  5. 然后你可以自己输入Rss Feed的地址和图片的保存目录. (如:http://www.cnblogs.com/rss.aspx 或者http://blog.joycode.com/MainFeed.aspx,博客园的rss第一次成功了,后面几次都失败了,可能是我网络的问题,在google的个性化主页上,博客园的rss总是失败,但是博客堂的就可以,不知道为什么)

  6. 点击OK关闭选项窗口.

更改以后,我们把参数换成/s就可以看到我们自定义以后的屏保效果了。

 

把屏保安装到你的电脑上

1.    保存好目前的项目,File – SaveAll

2.    使用 Build - Build Solution创建屏保的可执行程序.

3.    在项目文件夹的Debug目录找到屏保的Debug版本的可执行程序,默认为ScreenSaver1.exe,把后缀名改为scr,即ScreenSaver1.scr

4.    然后选中这个文件点击右键选择安装

5.    点击预览就可查看

6.    点击配置可以运行选项窗口让我们自定义Rss Feed和图片保存目录

确定以后就把我们的屏保安装在我们的电脑上了。

 

扩展

程序运行以后是自动按次序显示各Item的内容的,这让心急的我们很是苦恼,所以我们可以自己扩展程序,使用键盘控制Item选择,步骤如下:

1.    Solution Explorer, 右击 ScreenSaverForm.cs 选者View Designer

2.    在属性的下拉框选者ScreenSaverForm

3.    点击事情按钮(那个有闪电图标的按钮)]

4.    找到KeyDown事件,双击(其实我们发现已经有事件处理方法了)

使用以下代码代替 Close();

None.gif switch  (e.KeyCode)
None.gif
ExpandedBlockStart.gifContractedBlock.gif            
dot.gif {
InBlock.gif
InBlock.gif                
case Keys.Down:
InBlock.gif
InBlock.gif                     
// Rotate down through the articles.
InBlock.gif

InBlock.gif                     rssView.NextArticle();
InBlock.gif
InBlock.gif                     
break;
InBlock.gif
InBlock.gif                 
case Keys.Up:
InBlock.gif
InBlock.gif                     
// Rotate up through the articles.
InBlock.gif

InBlock.gif                     rssView.PreviousArticle();
InBlock.gif
InBlock.gif                     
break;
InBlock.gif
InBlock.gif                 
default
InBlock.gif                     Close();
InBlock.gif
InBlock.gif                     
break;
InBlock.gif
ExpandedBlockEnd.gif             }
  
None.gif

保存文件,F5运行

这是我们就可以使用按钮控制Item选择了。

更多提示

这个屏保被设计为非常容易自定义和扩展,以下想法可以帮助你自己扩展程序:

  • 选择你自己的内建默认图片:
    你自己选择默认图片

  • 在右上角显示天气信息:
    使用web service比如说这个来取得天气信息,然后显示在屏保的右上角。 (这个俺不会

     -_-~~)

  • 创建你自己的屏保:
    ScreenSaverForm 替换为你自己的Windows Form来显示一个完全不同的屏保,你可以考察一些系统的屏保来获取一些灵感,然后你可以继续使用Program.cs 文件来操作命令行参数来支持新的屏保

  • 多个 RSS feeds:
    扩展选项窗口来让你的用户选择一个Rss feeds集合,你可以使用以下想法:
    1. 在选项窗口让用户选择一个OPML文件,这个文件保存着一个rss feeds列表
    -或者-
    2.
    在选项窗口让用户来组合一个列表的rss feed
    一个随机的news feed可以在屏保运行的时候被选择

  • 完成RSS Class的实现:
    Starter Kit提供的Rss 类并不支持整个 RSS 2.0 specification. 剩下的任务可以由你完成,然后你可以把这个类封装为dll,以便在另一个程序中使用

  • 重用Rss classes:
    Rss classes可以在另一个程序中重用。你可以在写你自己RSS阅读器或者创建一个系统任务栏程序每隔一个小时弹出一篇文章。



这个字体似乎这个编辑器不支持,怎么成了这样,汗........

转载于:https://www.cnblogs.com/wdxinren/archive/2005/12/02/289283.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值