如同标题显示的,这只是一篇使用介绍,未涉及源码分析。<?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. 加入以下代码:
    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();

switch (e.KeyCode)

            {

                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阅读器或者创建一个系统任务栏程序每隔一个小时弹出一篇文章。

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

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

VC#2005 Starter Kit: Screen Saver 使用介绍相关推荐

  1. ASP.NET Jumpstart:Media Share Library Starter Kit 简介

    摘要:了解如何使用 Microsoft ASP.NET 和 Microsoft Visual Studio 2005 或 Microsoft Visual Web Developer 2005 Exp ...

  2. MS讲座:可视化的软件架构设计和Portal Starter Kit挖宝记

    昨天下午参加了MS的讲座:可视化的软件架构设计和Portal Starter Kit挖宝记,主讲是广州嘉为的王兴明. 讲座听完了,没有什么特别的感受,"可视化的软件架构设计"讲的是 ...

  3. Starter Kit for ASP.NET 2.0 家族又添新丁!

    名为Small Business Site的新一款Starter Kit发布了,看名字就知道了,这套代码模板是为中小型企业建站提供的,基于此套模板可以个性化设置并生成您需要的网站. 主要功能和页面: ...

  4. .NET 4.0 的Web Form和EF的例子 Employee Info Starter Kit (v4.0.0)

    ASP.NET 4.0改进了许多不同的场景集(set of scenarios),如Webforms ,Dynamic Data以及基于AJAX的Web开发.此外还有许多对支撑ASP.NET的核心运行 ...

  5. ASP.NET Report Starter Kit视频教程--1

    ASP.NET Report Starter Kit视频教程--1   本视频教程以希望出版社出版的<ASP.NET企业级开发案例精解> (http://www.china-pub.com ...

  6. [转载]拥抱Jini:从Starter Kit 2.0开始(第一部分)

    拥抱Jini:从Starter Kit 2.0开始(第一部分) Jini代表着分布式计算技术的深刻革命,其目的是通过对分布式资源的高效处理,将网络逐渐变成一个方便灵活且易于管理的工具, 这样用户或任何 ...

  7. [转载]拥抱Jini:从Starter Kit 2.0开始(第二部分)

    拥抱Jini:从Starter Kit 2.0开始(第二部分) Jini代表着分布式计算技术的深刻革命,其目的是通过对分布式资源的高效处理,将网络逐渐变成一个方便灵活且易于管理的工具, 这样用户或任何 ...

  8. Time Tracker Starter Kit 简介

    了解新的 Time Tracker Starter Kit,它是一个用于 Microsoft Visual Studio 2005 和 Microsoft Visual Web Developer 2 ...

  9. SQL Server 2005实现负载均衡的详细介绍

    SQL Server 2005实现负载均衡的详细介绍 SQL Server 2005仍然不直接地支持负载均衡--但是它为以前SQL Server版本中可用的所有负载均衡方法提供了令人激动的改善和支持. ...

最新文章

  1. archlinux安装chrome-webdriver
  2. python3多线程----锁机制
  3. 心得丨在开始第一个机器学习项目之前就了解的那些事儿
  4. 优先队列 堆实现 java
  5. SqlService 数据操作
  6. JavaFX UI控件教程(十二)之List View
  7. javase获取项目根目录_JavaSE:如何设置/获取您自己的文件和目录属性
  8. linux--几种常见的进程调度算法
  9. JQuery $.each遍历JSON字符串报Uncaught TypeError:Cannot use 'in' operator to search for
  10. label居中_表格固定列宽时如何居中?
  11. Jeecg-Boot 2.0.0 版本发布,基于Springboot+Vue 前后端分离快速开发平台
  12. linux定时重启命令
  13. glusterfs分布式文件系统初探
  14. COPY 一种接近最优的导航网格生成算法以及基于导航网格的寻路算法
  15. Ubuntu编译MT7628的固件(openwrt)
  16. kmeans python interation flag_机器学习经典算法-logistic回归代码详解
  17. html 字加白色透明,如何给网站背景加一个白色的透明文字
  18. 计算机变量符号有哪些,数值型数据的符号在计算机中如何表示
  19. dparsf是什么_回顾:第五届DPABI/DPARSF特训营暨DPABISurf加强营
  20. JavaScript-HTML中的JavaScript

热门文章

  1. 【Thymeleaf】获取绝对路径
  2. 连接虚拟机mysql无法访问_连接虚拟机mysql无法访问,报错编号1130的解决方法
  3. python全栈工程_Python全栈工程师(编码)
  4. android加载圈,SwipeRefreshLayout加载圈不会隐藏在android中
  5. 八皇后问题python_python求解八皇后问题
  6. css响应式布局_Web前端新手怎么入门 如何用CSS做响应式布局
  7. python中return返回值为函数名_Python函数返回值
  8. Linux 最常用命令(简单易学,但能解决 95% 以上的问题)
  9. vue从其它页面返回_vue页面按返回键等跳转重定向判断
  10. python 就业需求分析_python的就业前景如何?