欢迎来到天天文库
浏览记录
ID:41004719
大小:42.31 KB
页数:42页
时间:2019-08-13
《在NET 框架中保留应用程序设置》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、在.NET框架中保留应用程序设置JeffDannerMicrosoftCorporation2002年6月摘要:本文介绍在Microsoft.NET框架中,如何通过将应用程序设置保存到注册表中或将其序列化到配置文件中,在运行时保留应用程序设置。本文包含一些指向英文站点的链接。目录简介保存应用程序设置的前提使用注册表存储数据将数据保存到注册表从注册表检索数据创建自定义应用程序配置类将应用程序设置类用于应用程序加载保存的应用程序设置保存应用程序设置小结简介保存应用程序设置是一项常见任务。过去,我们通常将设置保存到INI文件或注册表中。而在Microsoft®.NET框架中
2、,我们多了另一种选择,即将应用程序设置序列化到XML文件中,以便轻松地更新和检索这些设置。MicrosoftVisualStudio®.NET使用System.Configuration.AppSettingsReader类读取存储在配置文件中的DynamicProperties。但是,这些动态属性在运行时是只读的,因此您无法保留用户所做的更改。本文将介绍如何序列化数据并将其写入一个文件,以及如何读取和反序列化该数据。存储数据的方式和位置取决于要存储的内容,本文将讨论如何根据数据类型将其存储到相应的位置。保存应用程序设置的前提Windows窗体Application类
3、包含多个属性,允许您轻松导航到注册表或用户数据文件夹的相应部分。要正确使用这些属性,您必须设置AssemblyCompany、AssemblyProduct和AssemblyVersion属性。这些属性设置的值由Control类通过CompanyName、ProductName和ProductVersion属性公开。下面是一个简单的Windows窗体示例,其中设置了程序集属性并将其显示在Label中:'VisualBasicImportsSystemImportsSystem.Windows.FormsImportsSystem.Reflection'设置程序集属性。
4、PublicClassAboutDialogBoxInheritsFormPublicSubNew()'在Label中显示程序集信息。Dimlabel1AsNewLabel()label1.Text=_Me.CompanyName+""+_Me.ProductName+"版本:"+_Me.ProductVersionlabel1.Auto
5、Size=TrueMe.Controls.Add(label1)EndSubEndClass//C#usingSystem;usingSystem.Windows.Forms;usingSystem.Reflection;//设置程序集属性。[assembly:AssemblyCompany("Microsoft")][assembly:AssemblyProduct("MyApplication")][assembly:AssemblyVersion("1.0.1")]publicclassAboutDialogBox:Form{publicAboutDialogB
6、ox(){//在Label中显示程序集信息。Labellabel1=newLabel();label1.Text=this.CompanyName+""+this.ProductName+"版本:"+this.ProductVersion;label1.AutoSize=true;this.Controls.Add(label1);}[STAThread]staticvoidMain(){Application.Run(newAboutDialogBox());}}使用注册表存储数据如果数据对应用程序而言非常敏感或十分重要,您可能不希望只简单地序列化数据;因为如果这样
7、,任何人都可以使用文本编辑器查看或编辑这些数据;而注册表可以限制对数据的访问。注册表为应用程序和用户设置提供了强大的存储能力。多数备份程序会自动备份注册表设置。当您将信息放到注册表中的正确位置后,在存储设置时可自动避开用户。虽然用户可以编辑注册表,但他们通常不会这样做,这便使得您的设置更加稳定。总之,只要遵守使用注册表的MicrosoftWindows®徽标原则,注册表将是存储应用程序设置的理想位置。要写入注册表,您的应用程序需要Create和Write注册表权限;要读取注册表,则需要Read权限。有关使用注册表项的详细信息,请参阅.NET框架SDK
此文档下载收益归作者所有