Info.NET,一种在屏幕侧边收集和组织数据的方式,类似于 MSN 8 上的 Dashboard






3.77/5 (13投票s)
2002年12月9日
4分钟阅读

161125

3003
此应用程序提供了创建您自己侧边栏面板的基础框架,然后可以自由分发给您的受众。现有应用程序中包含以下面板:股票、互联网搜索、天气、新闻、字典、体育和 Messenger。
- 从 Microsoft 下载 .NET framework 版本 1.1。
此程序需要 .NET framework 1.1 版本才能运行。
- 下载整个项目 - 907 Kb
- 仅下载发布文件 - 273 Kb
- 下载 Pre Everett 项目(无需 .NET Framework v1.1)- 792 Kb
注意* - 某些图形和颜色可能无法正常工作,因为这是一个移植项目。
引言
我们的生活被数据包围。例如,您的日历、事件、约会、特殊日期、当前项目、工作数据、朋友、家人、书籍、研究以及介于两者之间的任何内容。情况正变得难以控制。由于知识和数据不断涌入,人们无法按优先级完成工作。必须有一个解决方案。确实有,但目前它还在 MSR(Microsoft Research)中,仍在开发中。在此期间,必须有一个应用程序来组织数据,并且始终可以访问。MSN 8 中的 Dashboard 和 Longhorn 中的 Side Bar 就是例子。唯一的问题是 Dashboard 是一个父程序的一部分,而 Side Bar 距离实际可用还很遥远,即使在测试组中也是如此。即使 Side Bar 发布了,它也不会对第三方开放。这些问题以及更多问题是我编写此程序的主要动机。
目前,我只编写了最常用的面板(或磁贴,取决于您的偏好):股票、互联网搜索、天气、新闻、字典、体育比分和 Messenger 联系人。我的目标是为这种格式中可能想要的每条信息开发一个磁贴。这就是其他人可以介入的地方。以此为框架,然后去开发您自己的面板,更准确地呈现您的兴趣。然后,去分发此程序。不要只把这个给开发社区,而是给您的朋友、家人和同事。任何人都是数据组织的有价值的候选人。我是说任何人。例如,假设您的公司喜欢股票,但他们还需要一种方法,让人们可以轻松地通过网络获取文档。那么,去掉所有股票以外的面板,然后编写您自己的面板来显示并轻松启用员工通过网络分发文件。您不仅限于这些面板,甚至可以完全不使用这些面板。全部自己编写。如前所述,框架已经就位。唯一需要的是创造力。然后来这个网站发布您新开发的面板,激发更多的创新。
新面板
- 12/11/02
- Longhorn 时钟
这是 .NET 的图像强大功能与钟表优雅风格的绝妙结合。
- Longhorn 时钟
程序员入门
您可能想知道如何开发您自己的面板。您在面板上放置什么完全取决于您。这为您提供了实现最具挑战性呈现的自由。要开发一个应用程序,您只需要创建一个继承自 Dashboard.Windows.Forms.CollapsiblePanel
的类,如下所示
public class News : Dashboard.Windows.Forms.CollapsiblePanel
{
// ...
}
在类中,有一些函数应该在所有面板中实现。例如,一个接受 PanelSettings
类型变量的构造函数,它将传递面板变量。此外,还有一个覆盖函数,在程序退出时调用,基本上您可以将任何类的数据放入 PanelSettings.classobject
中,然后程序会自动获取 PanelSettings
类并将其序列化,在调用构造函数时将其返回。用于保存功能的特定函数称为 PrepareSettingsObject
。下面是构造函数和析构函数的示例
/// <summary>
/// Constructor
/// </summary>
public News (PanelSettings ps)
{
Initialize(ps);
}
/// <summary>
/// Records the variables for save.
/// </summary>
public override void PrepareSettingsObject()
{
nsc.updateInterval = this.updateInterval;
nsc.rotateSpeed = this.rotateSpeed;
this.SettingsObject = (object) nsc;
}
除此之外,您只需要提供一个小的 XML 文件来描述重要的 DLL 数据,然后就可以轻松安装。这是一个名为 newsinstall.xml 的示例文件,用于安装
<?xml version="1.0"?>
<Dashboard>
<gUID>news1.01</gUID>
<invokeMember>GetPanel</invokeMember>
<name>News</name>
<titleText>News</titleText>
<systemType>Dashboard.Components.News, Components</systemType>
</Dashboard>
共同的关注点是
GetPanel
– 类中的一个函数,它返回类对象或this
标识符。此函数是必需的,否则面板将无法工作。/// <summary> /// Method exposed for reflecting type. /// </summary> /// <returns></returns> public Dashboard.Windows.Forms.CollapsiblePanel GetPanel () { return this; }
SystemType
– 面板类确切的命名空间和类,包括面板所在的 DLL 的名称。例如:Dashboard.Components.News
,Components
。Dashboard.Components
是命名空间,News
是类名。Components
是程序集的名称。
文档
目前,没有支持功能或 SDK 的文本。但随着时间的推移,我计划编写类似的东西。如果您想帮忙,请随意。
引文
我非常感谢以下人员
- Derek Lakin – 为他无可挑剔的 关于 Windows XP 的可折叠面板的项目。
- FredB – 他使用和注册 AppBar 与 shell 的精彩 示例。
反馈
许多 Microsoft 应用程序之所以成功,是因为产品得到了开发者的支持。同样,没有你们,就没有这个程序。因此,为了使此程序发挥最大效益,您必须创建面板。选择您感兴趣的面板。我将开发更多面板,并在它们可用时更新此页面,所以请回来查看。此外,我非常乐意收到关于应用程序、错误或需要的功能的 反馈。
更新
- 12/10/02
- 健康新闻新闻项目已修复
- 股票阅读器已修复
- 12/12/02
- 互联网搜索
- 每日字典词