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