如同标题显示的,这只是一篇使用介绍,未涉及源码分析。
如果你英文够好,看这篇文章可能有些多余,因为完全依照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是从微软的网站上的,稍后介绍如何更改,程序自带的图片也不是很好看,呵呵
修改代码
显示额外的一行文本:
- 找到 Solution Explorer 窗口; 找到 ScreenSaverForm.cs 查看它的代码
- 找到 OnPaint 方法
- 加入以下代码:
e.Graphics.DrawString("<Your name>C# Screen Saver", rssView.TitleFont, Brushes.Orange, new PointF(0, 0));
- 按F5运行程序
使用Options Dialog Box
屏保使用命令行参数来显示选项窗口,如果我们要在IDE中使用命令行参数运行程序,可以使用如下步骤:
- 打开 Solution Explorer, 双击 Screen Saver project下的Properties节点.
然后我们就可以配置我们的工程了。 - 点击 Debug 标签, 找到 Command Line Arguments 文本框.
- 键入 /c 到文本框.
这样就可以让 Visual C# 使用 /c 命令行参数运行程序. - 按 F5 运行程序.
选项窗口就出现了. - 然后你可以自己输入Rss Feed的地址和图片的保存目录. (如:http://www.cnblogs.com/rss.aspx 或者http://blog.joycode.com/MainFeed.aspx,博客园的rss第一次成功了,后面几次都失败了,可能是我网络的问题,在google的个性化主页上,博客园的rss总是失败,但是博客堂的就可以,不知道为什么)
- 点击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();
{
case Keys.Down:
// Rotate down through the articles.
rssView.NextArticle();
break;
case Keys.Up:
// Rotate up through the articles.
rssView.PreviousArticle();
break;
default:
Close();
break;
}
保存文件,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阅读器或者创建一个系统任务栏程序每隔一个小时弹出一篇文章。
这个字体似乎这个编辑器不支持,怎么成了这样,汗........