资源预览内容
第1页 / 共8页
第2页 / 共8页
第3页 / 共8页
第4页 / 共8页
第5页 / 共8页
第6页 / 共8页
第7页 / 共8页
第8页 / 共8页
亲,该文档总共8页全部预览完了,如果喜欢就下载吧!
资源描述
1 应用程序设置总揽 http:/msdn.microsoft.com/en-us/library/0zszyc6e(v=vs.100).aspx 该主题讨论如何创建和保存应用程序和用户的 Setting 数据. 窗体的应用程序设置特性使得创建,储存和维护自定义应用程序和在客户机上的用户优先选项变得非常容易. 在 Windows 窗体的应用程序设置中,你不仅可以储存应用程序数据如链接字符串,而且也可以储存用户数据,如用户优先选项.使用 Visual Studio 或自定义托管代码, 你能够创建新的设置, 读写它们, 绑定到你表单的属性上, 并在加载和保存之前验证. 应用程序设置使得开发人员能在程序中用很少的代码来保存状态,并且替换早期的.NET 框架(2.0)中的动态属性类. 应用程序设置比起动态属性包含了更多的改进,动态属性是只读,后期绑定及要求更多编程. 动态属性类被保留,但是仅仅是对应用程序设置类的一个包装。 1.1 应用程序设置是什么应用程序设置是什么? 你的 Winodws Forms 应用程序经常要求关键的数据来运行程序,但是你不想直接写在代码中。如果你的应用程序使用一个 Web 服务或数据库服务器,你可能想用存储这些信息到一个独立的文件中,方便你在将来修改而不需要重新编译代码。 类是地,你的程序可能要为当前用户保存特定的信息。大多数程序,有用户自定义选项如界面和行为。 应用程序设置满足了 2 者通过一个简单的方法在客户机上保存应用程序设置和用户设置。使用 Visual Studio 或者代码编辑器,你可以通过为给定的属性指定一个名称、范围及数据类型来定义一个 setting。你可以把相关的设置组织在一个组中方便使用和阅读。一旦定义成功,这些熟悉被持久化并在程序运行时自动读到内存中。一个可插拔的架构使得持久化可以被修改,但是默认,使用本地文件系统。 应用程序设置根据是否应用程序范围或用户范围来持久化数据为不同的 XML 文件来工作。大多数情形,应用程序设置是只读的;因为它们是程序信息,通常不需要重写。相反,用户范围的设置在运行时进行读写,即使程序运行在部分信任的系统上。更多关于部分信任,请看 Security in Windows Forms Overview. 设置在配置文件中被存储为 XML 片断。应用程序设置通过元素来表示,通常放在 app.exe.config 中,app 就是你的可执行文件的名称。用户范围的设置用来表示,通常放在 user.config 文件中,这里的 user 就是当前运行该程序的用户名。你必须和你的程序一起发布app.exe.config 文件;设置架构将在第一次运行时在后台创建 user.config 来保存用户的设置。你也可以在 app.exe.config 文件中定义块来提供用户范围设置的默认值。 自定义控件通过实现 IPersistComponentSettings 接口来保存自己的设置,该接口暴露了 SaveSettings方法。窗口的 ToolStrip 控件实现了这个接口来保存工具条的位置。更多的自定义控件和设置,请看自定义控件的程序设置。 1.2 应用程序设置的限制应用程序设置的限制 你不能在未托管的程序中使用应用程序设置。在 Visual Studio 插件,Office C+, IE 控件或 Outlook插件中不能使用设置。 目前不能绑定 Windows Forms 中的一些属性。最明显的例子是 ClientSize 属性,绑定到这个属性将引起未预期行为。 对于加密信息没有内建的能力。你不应该已明文的方式储存安全相关的信息,如数据库密码。如果你想要储存这些敏感信息,你应该加密它。如果你想要保存连接字符串,建议你使用 Windows 集成安全并不要重新硬编码到 URL。更多信息,看安全访问代码和 ADO.NET。 1.3 开始使用应用程序设置开始使用应用程序设置 如果你使用 Visual Studio,你可以通过窗口设计器内的属性窗口使用 ApplicationSettings 属性来定义设置。当你使用这种方式定义时,Visual Studio 会自动产生一个自定义托管包装类与一个类中的每一项属性向关联。 Visual Studio 会小心地绑定设置到一个 form 或控件的属性,所以控件的设置被自动恢复当它的 Form 显示时,并且当 Form 关闭时自动保存。更多细节,看如何使用设计器创建设置。 如果你想要更加详细地控制你的设置,你可以定义你自己的应用程序设置包装类。可以通过从ApplicationSettingsBase 派生一个类,添加为每一个 setting 添加相应的属性,并应用特殊的属性(Attributes)到这些属性上(Properties)。更多细节,看应用程序设置框架。 你也可以使用 Binding 类来绑定设置到 forms 或控件的属性上。更多信息,请看如何使用设计器创建设置。 2 应用程序设置 应用程序设置允许你为你的程序动态地存储和找回属性的设置和其它信息. 它也可以使你在客户的机器上维护自定义程序及用户优先选项. 通常,这些数据(如连接字符串等)是关键的,但是你又不想直接写在代码中. 你可以存储 2 个不同的数据库连接并在运行时依据计算机的位置找到其中一个. 或者你想储存用户的颜色选项以便在下次运行时找到该设置. 注意,应用程序设置是 Visual Studio 为了替换早期的动态属性的特性的特性。 每一个应用程序的设置都有独一无二的名字。这些名字可以是任何字符、数字和下划线,但是不能以数字开始及保护空格。这个名字可以通过 Name 属性进行修改。 应用程序设置可以是被 XML 序列化的数据类型或者有一个实现了 ToString/FromString 的类型转换器。最常见的类型是 String,Integer 和 Boolean,但是你也可以储存如颜色,对象或者链接字符串等。 应用程序设置也包含一个值。该值用 Value 属性去设置并且必须匹配设置的数据类型。 另外,应用程序设置可能在设计时绑定了窗口和控件。更多信息,参考这里。 应用程序设置根据范围分为 2 种: 1. 应用程序范围的,用于这些信息如 WebService 的 URL 或数据库的链接字符串。这些值根应用程 序相关。因此,用户不能在运行时修改它。 2. 用户范围的,储存窗口的最后位置或字体等信息的。用户可以在运行时修改它。 你可以通过使用 Scope 属性来改变一个 setting 的类型。 2.1 在设计阶段创建应用程序设置在设计阶段创建应用程序设置 在设计时,你可以通过 2 种方式来创建应用程序设置:通过使用 Project Designer 的 Settings 页,或通过窗体或控件的属性窗口,该属性窗口允许你绑定一个设置到属性。更多信息,看如何添加和删除应用程序设置。 当你创建应用程序范围的设置时,Visual Studio 把它保存在 app.config 的标记中。链接字符串保存在标记中。 当你创建用户范围的设置时,保存在 app.config 的标记中。 安全提示 要避免泄露在链接字符串中使用的密码和服务器路径等敏感信息.可以使用保护配置特性来加密这些信息. 注意 因为类库没有配置文件,因此应用程序设置不能在类库中使用.但 Office Dll 可以保护一个配置文件. 2.2 使用自定义配置文件使用自定义配置文件 你可以添加自定义设置文件到项目中,以便来管理一组设置. 设置被包含在一个单一的文件中最为一个单元被加载和保存. 因此可以使用不同的文件来存储常用和不常用的设置来节约加载和保存的时间. 举个例子,你可以添加一个文件如 SpecialSettings.Settings. 当你的 SpecialSettings 类没有出现在 My命名空间中时, View Code 能读取自定义文件包含了部分类 SpecialSettings. Settings 设计器首先查找项目创建的 Settings.settings 文件; 这是在项目设计器的 Settings 页中默认的文件. 对于 VB 项目Settings.settings 位于项目文件夹下,对于 C#项目,该文件位于 Properties 目录下.项目设计器查找其它的设置文件在项目的根目录下. 因此,你应该把自定义文件放在这里.如果你添加了一个.settings 文件在其它地方, 项目设计器将无法找到. 2.3 C#项目在运行时改变应用程序设置项目在运行时改变应用程序设置 在 C#项目中,你必须直接访问 Settings 类,就像下面的例子. Properties.Settings.Default.FirstUserSettin=”abc”; 你也必须显式地调用该类的 Save 方法去持久化用户设置. 通常在主窗体的 Closing 事件中调用. 下面的例子演示了调用 Save 方法. Properties.Settings.Default.Save(); 对于如何创建应用程序设置并绑定到窗体的属性上,请看如何使用设计器创建应用程序设置. 对于关于通过Settings 类访问应用程序设置的更多信息,请看应用程序总揽. 3 How To 3.1 如何如何添加和删除应用程序设置添加和删除应用程序设置? 在设计时,你可以通过 Project Designer 中的 Settings 面板或使用 form 和控件的 Properties 属性窗口来添加应用程序设置,允许你直接绑定一个设置到属性。 在 Project Designer 中添加设置 1. 在 Solution Explorer 种选择项目,点击属性。 2. 选择 Settings 面板 3. 在 Settings grid 中点击空白行。 4. 在 Name 列输入 Setting 名称,名称不能包含空格。 5. 在 Type 选择列表选择类型。 6. 在 Scope 列表中选择范围,application 或 user。 7. 输入一个默认值。默认值必须适合选择的数据类型。 在 Windows Forms 中添加设置 1. 在 form 设计器中选择 form 或控件,在 View 菜单上点击属性对话框。 2. 在属性对话框中展开 Application Settings 属性。 3. 选择 Property Binding 并点击按钮去打开 Application Settings 对话框。 4. 在 Application Settings 对话框中选择你要添加到 Settings 的属性。 5. 在下拉列表中点击 New 打开新的 Application Settings 对话框。 6. 在 Name 列输入 Setting 名称,名称不能包含空格。 7. 在 Scope 列表中选择范围,application 或 user。 8. 输入一个默认值。默认值必须适合选择的数据类型。 9. 要绑定一个新的属性,选择下拉列表点击 OK。 从 Application Settings 移除设置 1. 在 Solution Explorer 种选择项目,点击属性。 2. 选择 Settings 面板。 3. 在表格中点击要移除的行。 4. 选择 Delete 键或右击并选择 Remove Setting。 提示 需要手动从 app.config 文件中删除这些设置。因为 Project Designer 并不删除你代码或它自己代码引用的设置。 3.2 如何:更改现有设置在设计时的价如何:更改现有设置在设计时的价值值 C在设计时更改现有设置的值 1. 在解决方案资源管理器中,展开属性项目的节点。 2. 双击要在其中添加新的设置。设置文件。此文件的默认名称是 Settings.settings。 3. 在设置的设计师,找到您要更改的值,并在值列中
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号