⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 screensaverstarterkit.htm

📁 C# 屏幕截图的源程序
💻 HTM
📖 第 1 页 / 共 2 页
字号:

<h3>屏幕保护程序项目文件</h3>

<p>此项目包含八个不同的 C# 源代码文件。</p>

<table border="1" bordercolor= #DDDCD6 width="100%" style="border-collapse: collapse">
	<tr>
		<td class="FileNameCol">Program.cs</td>
		<td>包含 <b>Main()</b> 方法(程序开始执行的位置)和用于处理命令行开关的代码</td>
	</tr>
	<tr>
		<td class="FileNameCol">OptionsForm.cs</td>
		<td>包含显示设置选项的 Windows 窗体。通过此对话框,可选择屏幕保护程序运行时要使用的背景图像和 RSS 源。</td>
	</tr>
	<tr>
		<td class="FileNameCol">ScreenSaverForm.cs</td>
		<td>包含主屏幕保护程序 Windows 窗体。在此全屏窗体上读取并显示用户选择的背景图像和 RSS 源。</td>
	</tr>
	<tr>
		<td class="FileNameCol">RSSFeed.cs</td>
		<td>包含表示 RSS 2.0 源的类。</td>
	</tr>
	<tr>
		<td class="FileNameCol">RssChannel.cs</td>
		<td>包含表示 RSS 频道的类。所有 RSS 源中都有一个频道。它表示文章的集合。</td>
	</tr>
	<tr>
		<td class="FileNameCol">RSSItem.cs</td>
		<td>包含表示 RSS 项的类。RSS 频道可拥有任意数量的 RSS 项。一个 RSS 项表示一篇文章、一个博客贴子或一段新闻报道。</td>
	</tr>
	<tr>
		<td class="FileNameCol">Item.cs</td>
		<td>包含表示项的类,即具有标题和说明的对象。</td>
	</tr>
	<tr>
		<td class="FileNameCol">ItemDescriptionView.cs</td>
		<td>包含用来显示 RSS 源项的说明的代码。它以慢慢淡入淡出的效果显示项的文本。</td>
	</tr>
	<tr>
		<td class="FileNameCol">ItemListView.cs</td>
		<td>包含用来显示 RSS 源项的标题的代码。它跟踪当前所选文章,并可向前或向后滚动该文章。</td>
	</tr>
	</table>


<h2><A href="#top"><IMG src="Images\topjump-vc.gif" border=0></A><a name="Concepts">概念</a></h2>

<h3>Windows 与屏幕保护程序的交互方式</h3>

<p>Windows 屏幕保护程序是一个可执行文件,用于打开显示不断变化的图形显示(例如“飞越星空”或选定的一组照片)的全屏窗口。任何可执行文件都可用作 Windows 屏幕保护程序。要使可执行文件出现在屏幕保护程序选择对话框中,只需将该文件放在 Windows 目录中(如果使用的是 Windows 98 或 Windows XP,则该目录为系统驱动器中的 \Windows\System32;如果使用的是 Windows NT 或 Windows 2000,则该目录为 \WinNT\System32)。<br><br>当 Windows 运行屏幕保护程序时,它使用以下三个命令行选项之一启动该程序:</p>
<ul>
	<li><b>/s</b> &#8211; 通知屏幕保护程序开始显示。 </li>
	<li><b>/c</b> &#8211; 通知屏幕保护程序打开其“设置”对话框。</li>
	<li><b>/p</b> – 通知屏幕保护程序显示较小的预览。</li>
</ul>
<p>此初学者工具包在 <b>Program.cs</b> 源文件中处理这些参数。当您查看该文件中的代码时,将发现此初学者工具包没有实现 <b>/p</b> 参数。</p>
<h3>使用设置和资源设计器存储选项</h3>
<p>初学者工具包可在两种不同模式中运行,因此它需要用一种方法来在这两种会话之间存储它的设置,这就需要使用设置设计器。通过在“解决方案资源管理器”中右击 <b>ScreenSaver</b> 项目节点,选择“属性”,然后单击“设置”选项卡,便可看到此设计器。使用此设计器,您可以列出程序希望设置并能够以下面的格式从代码访问的所有设置:<br> <br> <span style="font-size:10.0pt;
font-family:Courier">Properties.Settings.Default.&lt;SettingName&gt;</span></p>
<p><br>类似地,资源设计器用于存储默认的背景图像和 RSS 源。通过在“解决方案资源管理器”中右击 <b>ScreenSaver</b> 项目节点,选择“属性”,然后单击“资源”选项卡,便可看到此设计器。</p>

<h3>XML 和 RSS</h3>

<p>RSS 源的格式为 XML,用于汇总 Web 上内容。站点经常使用它们来发布自己的当前新闻文章或博客贴子的列表。RSS 源具有包含一个 <b>&lt;channel&gt;</b> 节点的 <b>&lt;rss&gt;</b> 节点。<b>&lt;channel&gt;</b> 节点有一个或多个 &lt;item&gt; 节点,每个 item 节点表示源中的一篇文章或一个博客贴子。它还包含一个 <b>&lt;title&gt;</b> 元素,该元素含有频道的标题。每个 <b>&lt;item&gt;</b> 都可包含标题、链接和说明。下面是一个非常简单的示例。</p>
<p>&nbsp;</p>

<div class="CodeBlock">
		<p class="MsoNormal">
		<span style="font-size: 10.0pt; font-family: Courier New; color: blue">&lt;</span><span style="font-size: 10.0pt; font-family: Courier New; color: maroon">rss</span><span style="font-size: 10.0pt; font-family: Courier New; color: blue"> </span> <span style="font-size: 10.0pt; font-family: Courier New; color: red"> version</span><span style="font-size: 10.0pt; font-family: Courier New; color: blue">=</span><span style="font-size: 10.0pt; font-family: Courier New">&quot;<span style="color:blue">2.0</span>&quot;<span style="color:blue">&gt;</span></span></p>
		<p class="MsoNormal">
		<span style="font-size: 10.0pt; font-family: Courier New">&nbsp; <span style="color:blue">&lt;</span><span style="color:maroon">channel</span><span style="color:blue">&gt;</span></span></p>
		<p class="MsoNormal">
		<span style="font-size: 10.0pt; font-family: Courier New">&nbsp;&nbsp;&nbsp; <span style="color:blue">&lt;</span><span style="color:maroon">title</span><span style="color:blue">&gt;</span>我的 RSS 源<span style="color:blue">&lt;/</span><span style="color:maroon">title</span><span style="color:blue">&gt;</span></span></p>
		<p class="MsoNormal">
		<span style="font-size: 10.0pt; font-family: Courier New">&nbsp;&nbsp;&nbsp; <span style="color:blue">&lt;</span><span style="color:maroon">description</span><span style="color:blue">&gt;</span>一些文章。<span style="color:blue">&lt;/</span><span style="color:maroon">description</span><span style="color:blue">&gt;</span></span></p>
		<p class="MsoNormal">
		<span style="font-size: 10.0pt; font-family: Courier New">&nbsp;&nbsp;&nbsp; <span style="color:blue">&lt;</span><span style="color:maroon">link</span><span style="color:blue">&gt;</span>http://msdn.microsoft.com/<span style="color:blue">&lt;/</span><span style="color:maroon">link</span><span style="color:blue">&gt;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></p>
		<p class="MsoNormal">
		<span style="font-size: 10.0pt; font-family: Courier New">&nbsp;&nbsp;&nbsp; <span style="color:blue">&lt;</span><span style="color:maroon">item</span><span style="color:blue">&gt;</span></span></p>
		<p class="MsoNormal">
		<span style="font-size: 10.0pt; font-family: Courier New">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color:blue">&lt;</span><span style="color:maroon">title</span><span style="color:blue">&gt;</span>文章 1<span style="color:blue">&lt;/</span><span style="color:maroon">title</span><span style="color:blue">&gt;</span></span></p>
		<p class="MsoNormal">
		<span style="font-size: 10.0pt; font-family: Courier New">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color:blue">&lt;</span><span style="color:maroon">description</span><span style="color:blue">&gt;</span>文章摘要。<span style="color:blue">&lt;/</span><span style="color:maroon">description</span><span style="color:blue">&gt;</span></span></p>
		<p class="MsoNormal">
		<span style="font-size: 10.0pt; font-family: Courier New">&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue">&lt;</span><span style="color:maroon">link</span><span style="color:blue">&gt;</span>http://msdn.microsoft.com/netframework<span style="color:blue">&lt;/</span><span style="color:maroon">link</span><span style="color:blue">&gt;</span></span></p>
		<p class="MsoNormal">
		<span style="font-size: 10.0pt; font-family: Courier New">&nbsp;&nbsp;&nbsp; <span style="color:blue">&lt;/</span><span style="color:maroon">item</span><span style="color:blue">&gt;</span></span></p>
		<p class="MsoNormal">
		<span style="font-size: 10.0pt; font-family: Courier New">&nbsp;&nbsp;&nbsp; <span style="color:blue">&lt;</span><span style="color:maroon">item</span><span style="color:blue">&gt;</span></span></p>
		<p class="MsoNormal">
		<span style="font-size: 10.0pt; font-family: Courier New">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color:blue">&lt;</span><span style="color:maroon">title</span><span style="color:blue">&gt;</span>文章 2<span style="color:blue">&lt;/</span><span style="color:maroon">title</span><span style="color:blue">&gt;</span></span></p>
		<p class="MsoNormal">
		<span style="font-size: 10.0pt; font-family: Courier New">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color:blue">&lt;</span><span style="color:maroon">description</span><span style="color:blue">&gt;</span>一些其他文章摘要。<span style="color:blue">&lt;/</span><span style="color:maroon">description</span><span style="color:blue">&gt;</span></span></p>
		<p class="MsoNormal">
		<span style="font-size: 10.0pt; font-family: Courier New">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color:blue">&lt;</span><span style="color:maroon">link</span><span style="color:blue">&gt;</span>http://msdn.microsoft.com/vcsharp/<span style="color:blue">&lt;/</span><span style="color:maroon">link</span><span style="color:blue">&gt;</span></span></p>
		<p class="MsoNormal">
		<span style="font-size: 10.0pt; font-family: Courier New">&nbsp;&nbsp;&nbsp; <span style="color:blue">&lt;/</span><span style="color:maroon">item</span><span style="color:blue">&gt;</span></span></p>
		<p class="MsoNormal">
		<span style="font-size: 10.0pt; font-family: Courier New">&nbsp; <span style="color:blue">&lt;/</span><span style="color:maroon">channel</span><span style="color:blue">&gt;</span></span></p>
		<span style="font-size: 10.0pt; font-family: Courier New; color: blue"> &lt;/</span><span style="font-size: 10.0pt; font-family: Courier New; color: maroon">rss</span><span style="font-size: 10.0pt; font-family: Courier New; color: blue">&gt;</span>
</div>

<h2><A href="#top"><IMG src="Images\topjump-vc.gif" border=0></A><a name="Extending">扩展屏幕保护程序</a></h2>

<h3>添加键盘支持</h3>

<p>增强屏幕保护程序的一种简单方法是添加键盘支持。例如,可允许用户使用光标键来选择当前的 RSS 项。以下步骤说明如何进行操作。</p>

<p class="ProcedureLabel">添加键盘支持:</p>

<ol>
	<li>在“解决方案资源管理器”中,右击“ScreenSaverForm.cs”,然后选择“查看设计器”。
	</li>
	<li>如果未显示“属性”窗口,则通过单击“视图”菜单然后选择“属性窗口”来打开它。</li>
	<li>在“属性”窗口顶部的下拉列表中选择“ScreenSaverForm”。
	</li>
	<li>单击“事件”按钮(闪电形按钮)来查看窗体可引发的事件。</li>
	<li>找到 <b>KeyDown</b> 事件。它列出一个方法 <font face="Courier">ScreenSaverForm_KeyDown</font> 作为该事件的处理程序。</li>
	<li>双击 <b>KeyDown</b> 事件。<br>这可打开代码视图,并显示 <font face="Courier">ScreenSaverForm_KeyDown</font> 方法。</li>
	<li><p>使用以下内容替换行 <font face="Courier">Close();</font>:</p>
	<div class="CodeBlock">
		<p class="MsoNormal" style="margin-left:.75in;text-indent:.25in">
		<span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:blue"> switch</span><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;"> (e.KeyCode)</span></p>
		<p class="MsoNormal">
		<span style="font-size:10.0pt;font-family:&quot;Courier New&quot;"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</span></p>
		<p class="MsoNormal">
		<span style="font-size:10.0pt;font-family:&quot;Courier New&quot;"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color:blue">case</span> <span style="color:teal">Keys</span>.Down:</span></p>
		<p class="MsoNormal">
		<span style="font-size:10.0pt;font-family:&quot;Courier New&quot;"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color:gray">// 向下滚动文章。</span></span></p>
		<p class="MsoNormal">
		<span style="font-size:10.0pt;font-family:&quot;Courier New&quot;"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rssView.NextArticle();</span></p>
		<p class="MsoNormal">
		<span style="font-size:10.0pt;font-family:&quot;Courier New&quot;"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue">&nbsp;&nbsp;&nbsp; break</span>;</span></p>
		<p class="MsoNormal">
		<span style="font-size:10.0pt;font-family:&quot;Courier New&quot;"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color:blue">&nbsp;&nbsp;&nbsp; case</span> <span style="color:teal">Keys</span>.Up:</span></p>
		<p class="MsoNormal">
		<span style="font-size:10.0pt;font-family:&quot;Courier New&quot;"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color:gray">&nbsp;&nbsp;&nbsp; // 向上滚动文章。</span></span></p>
		<p class="MsoNormal">
		<span style="font-size:10.0pt;font-family:&quot;Courier New&quot;"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rssView.PreviousArticle();</span></p>
		<p class="MsoNormal">
		<span style="font-size:10.0pt;font-family:&quot;Courier New&quot;"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color:blue">&nbsp;&nbsp;&nbsp; break</span>;</span></p>
		<span style="font-size:10.0pt;font-family:&quot;Courier New&quot;"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue">&nbsp;&nbsp;&nbsp; default</span>:</span>
		<p class="MsoNormal">
		<span style="font-size:10.0pt;font-family:&quot;Courier New&quot;"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Close();</span></p>
		<p class="MsoNormal">
		<span style="font-size:10.0pt;font-family:&quot;Courier New&quot;"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color:blue">&nbsp;&nbsp;&nbsp; break</span>;</span></p>
		<span style="font-size: 10.0pt; font-family: Courier New">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span>&nbsp;
    </div>
	<li>保存文件,然后按 <b>F5</b> 运行此项目。</li>
	<li>此屏幕保护程序运行时,您可以按“向上键”和“向下键”来更改当前所选文章。</li>
</ol>
<h3>更多建议</h3>

<p>该屏幕保护应用程序设计为易于扩展和自定义。下面是如何扩展它的一些建议:</p>

<ul>
	<li><i></i><b>选择自己的内置默认图像</b>:<br>将默认的屏幕保护程序图像更改为您所选择的图片。</li>
	<li><i></i><b>在右上角显示气象信息</b>:<br>使用 Web 服务(如<a href="http://go.microsoft.com/fwlink/?LinkId=47764">此服务</a>)来检索气象信息,然后在屏幕的右上角显示一些当前的气象详细信息。</li>
	<li><i></i><b>生成自己的屏幕保护程序</b>:<br>使用另一个显示完全不同的屏幕保护程序的 Windows 窗体替换 <b>ScreenSaverForm</b>。看看能否从现有的 Windows 屏幕保护程序中得到些启发,想出一些新的创意吗?(“飞越星空”和“三维管道”就是这样完成的。)<b>Program.cs</b> 文件处理所有支持屏幕保护程序的命令行选项。</li>
	<li><i></i><b>多个 RSS 源</b>:<br>扩展“选项”对话框以使用户能够选择一组用来从中收集新闻文章的 RSS 源。<b></b>这可通过几种方法来实现:<br>1.“选项”对话框使用户能够选择包含 RSS 源列表的 OPML 文件,<br>- 或 -<br>2.“选项”对话框使用户能够填写 RSS 源列表。<br>加载屏幕保护程序时可选择随机的新闻源,之后,当屏幕保护程序每次显示完一个新闻源的内容时,都可选择一个新的源。</li>
	<li><i></i><b>完成 RSS 类的实现</b>:<br> 随此初学者工具包提供的 RSS 类不支持整个 <a href="http://go.microsoft.com/fwlink/?LinkId=47765">RSS 2.0 规范</a>。可将规范的其余部分添加到这些类中。然后可将这些类打包为 dll,并在其他应用程序中重新使用。</li>
	<li><i></i><b>重用 RSS 类</b>:<br>RSS 类可以在另一个应用程序中重用。一些可能的用途包括: 编写自己的 RSS 聚合程序,或创建每小时弹出新文章的系统栏应用程序。&nbsp; 
	</li>
</ul>


<h2><A href="#top"><IMG src="Images\topjump-vc.gif" border=0></A><a name="ForMoreInformation">更多信息</a></h2>

<h3>联机资源</h3>

<ul>
	<li><a href="http://go.microsoft.com/fwlink/?linkid=35117">提供对此文档的反馈意见</a></li>
	<li><a href="http://www.microsoft.com/china/msdn/developercenter/VCSharp/default.mspx">MSDN 上的 Visual C#</a></li>
	<li><a href="http://go.microsoft.com/fwlink/?LinkId=47765">RSS 2.0 规范</a></li>
	<li><a href="http://www.microsoft.com/china/technet/abouttn/rss/default.mspx">MSDN RSS 源</a></li>
</ul>

<p>&nbsp;</p>

<p>
<a href="http://www.microsoft.com/china/mscorp/legal/"> &#169; Microsoft Corporation 和/或其供应商。保留所有权利。使用条款。</a>
</p>

<!-- 不要编辑下行  -->
<p>&nbsp;</p>
</div>
</body>
</html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -