VC#2005 Starter Kit: Screen Saver 使用介绍
如同标题显示的,这只是一篇使用介绍,未涉及源码分析。<?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是从微软的网站上的,稍后介绍如何更改,程序自带的图片也不是很好看,呵呵
修改代码
显示额外的一行文本:
- 找到 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阅读器或者创建一个系统任务栏程序每隔一个小时弹出一篇文章。
这个字体似乎这个编辑器不支持,怎么成了这样,汗........
转载于:https://www.cnblogs.com/wdxinren/archive/2005/12/02/289283.html
VC#2005 Starter Kit: Screen Saver 使用介绍相关推荐
- ASP.NET Jumpstart:Media Share Library Starter Kit 简介
摘要:了解如何使用 Microsoft ASP.NET 和 Microsoft Visual Studio 2005 或 Microsoft Visual Web Developer 2005 Exp ...
- MS讲座:可视化的软件架构设计和Portal Starter Kit挖宝记
昨天下午参加了MS的讲座:可视化的软件架构设计和Portal Starter Kit挖宝记,主讲是广州嘉为的王兴明. 讲座听完了,没有什么特别的感受,"可视化的软件架构设计"讲的是 ...
- Starter Kit for ASP.NET 2.0 家族又添新丁!
名为Small Business Site的新一款Starter Kit发布了,看名字就知道了,这套代码模板是为中小型企业建站提供的,基于此套模板可以个性化设置并生成您需要的网站. 主要功能和页面: ...
- .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的核心运行 ...
- ASP.NET Report Starter Kit视频教程--1
ASP.NET Report Starter Kit视频教程--1 本视频教程以希望出版社出版的<ASP.NET企业级开发案例精解> (http://www.china-pub.com ...
- [转载]拥抱Jini:从Starter Kit 2.0开始(第一部分)
拥抱Jini:从Starter Kit 2.0开始(第一部分) Jini代表着分布式计算技术的深刻革命,其目的是通过对分布式资源的高效处理,将网络逐渐变成一个方便灵活且易于管理的工具, 这样用户或任何 ...
- [转载]拥抱Jini:从Starter Kit 2.0开始(第二部分)
拥抱Jini:从Starter Kit 2.0开始(第二部分) Jini代表着分布式计算技术的深刻革命,其目的是通过对分布式资源的高效处理,将网络逐渐变成一个方便灵活且易于管理的工具, 这样用户或任何 ...
- Time Tracker Starter Kit 简介
了解新的 Time Tracker Starter Kit,它是一个用于 Microsoft Visual Studio 2005 和 Microsoft Visual Web Developer 2 ...
- SQL Server 2005实现负载均衡的详细介绍
SQL Server 2005实现负载均衡的详细介绍 SQL Server 2005仍然不直接地支持负载均衡--但是它为以前SQL Server版本中可用的所有负载均衡方法提供了令人激动的改善和支持. ...
最新文章
- archlinux安装chrome-webdriver
- python3多线程----锁机制
- 心得丨在开始第一个机器学习项目之前就了解的那些事儿
- 优先队列 堆实现 java
- SqlService 数据操作
- JavaFX UI控件教程(十二)之List View
- javase获取项目根目录_JavaSE:如何设置/获取您自己的文件和目录属性
- linux--几种常见的进程调度算法
- JQuery $.each遍历JSON字符串报Uncaught TypeError:Cannot use 'in' operator to search for
- label居中_表格固定列宽时如何居中?
- Jeecg-Boot 2.0.0 版本发布,基于Springboot+Vue 前后端分离快速开发平台
- linux定时重启命令
- glusterfs分布式文件系统初探
- COPY 一种接近最优的导航网格生成算法以及基于导航网格的寻路算法
- Ubuntu编译MT7628的固件(openwrt)
- kmeans python interation flag_机器学习经典算法-logistic回归代码详解
- html 字加白色透明,如何给网站背景加一个白色的透明文字
- 计算机变量符号有哪些,数值型数据的符号在计算机中如何表示
- dparsf是什么_回顾:第五届DPABI/DPARSF特训营暨DPABISurf加强营
- JavaScript-HTML中的JavaScript
热门文章
- 【Thymeleaf】获取绝对路径
- 连接虚拟机mysql无法访问_连接虚拟机mysql无法访问,报错编号1130的解决方法
- python全栈工程_Python全栈工程师(编码)
- android加载圈,SwipeRefreshLayout加载圈不会隐藏在android中
- 八皇后问题python_python求解八皇后问题
- css响应式布局_Web前端新手怎么入门 如何用CSS做响应式布局
- python中return返回值为函数名_Python函数返回值
- Linux 最常用命令(简单易学,但能解决 95% 以上的问题)
- vue从其它页面返回_vue页面按返回键等跳转重定向判断
- python 就业需求分析_python的就业前景如何?