当前位置:文档之家› 应用程序设置 Application Setting

应用程序设置 Application Setting

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