首页 >> 民生杂谈

窗体配置牛

民生杂谈  2021-08-24 18:34 字号: 大 中 小

枚举配置属性

ThisConfigEditor的显示的核心是代码文件中的私有的PopulateListView方法:

private void PopulateListView()

{

ListViewItem item = null;

abled = false;

abled = false;

ear();

ttings settings = fault;

foreach (SettingsProperty property in operties)

{

bool match = false;

switch (_dt)

{

case l:

match = true;

break;

case plication:

foreach (ctionaryEntry attribute in tributes)

{

if (lue is plicationScopedSettingAttribute)

{

match = true;

break;

}

}

break;

case er:

foreach (ctionaryEntry attribute in tributes)

{

if (lue is erScopedSettingAttribute)

{

match = true;

break;

}

}

break;

}

if (match)

{

item = new ListViewItem();

d(new stViewSubItem(item, String()));

d(new stViewSubItem(item, settings[xt] as string));

g = property;

d(item);

}

}

}

通过判断私有枚举字段_dt(它与窗体中的组合框的选择相关联,该组合框用于选择显示哪些配置属性:全部的、应用程序的或者用户的),代码枚举出配置属性。集合中的每个成员都是一个SettingProperty实例(nfiguration API中的另外一个新类,用于表现独立的配置属性),它也包含一个DictionaryEntry实例集合,用于表示它们的多个属性。通过在属性集合上进行迭代操作,代码搜索出与组合框中选择的范围相匹配的属性。在匹配到之后,代码显示通过建立一个新的ListViewItem并把它添加到窗体的ListView上,从而显示配置属性。

我们的修改到哪儿去了?

因此,在浏览了这些代码并运行该应用程序之后你可以看到nfig文件中的不同配置设置信息。为了理解配置框架组件是如何工作的,我们来看一下当你改变一个User范围设置(图6所示)的时候发生了什么事情。

图6:改变User范围的设置信息

改变的设置信息没有保存到应用程序的配置文件中;作为代替,该API在用户的配置(profile)中为应用程序建立了一个新目录(如果这个目录并不存在才建立),在这个目录中增加了一个叫做nfig的文件(图7所示)。

吕布的整体形象共有6000多polygon(面) 图7:新的用户配置文件:.NET框架组件保存的示例应用程序的新的用户配置文件的位置

采用这种方法分离数据,通过使用户特定的数据与用户保持关联,保护了应用程序配置文件的完整性。而且,.NET框架组件自动地载入用户特定的内容而不需要开发者来干涉。请注意,最后的一个目录与应用程序的版本号相对应。这确保了当某个属性的数据类型发生改变的时候,应用程序的延续版本将维护它们独立的完整性而不会相互干扰。

精简框架组件又落后了

Pocket PC上的精简框架组件的实现有时候看起来不受.NET世界的重视。它的1.0版本的实现没有为nfiguration名称空间和注册表做任何准备。2.0的beta版文档在nfiguration名称空间中出现了每个类实体的精简框架组件,就像beta文档中的所有名称空间中的大量类的实现方法一样,但是现在是不支持的。

人们只能希望这只是新的.NET平台的一个短暂的阶段,并且最后的发布版支持与桌面版相同的能力。查看本文来源

南通治妇科哪家医院好
杭州哪里治疗白癜风
新标木门怎么代理
推荐资讯