65.9K
CodeProject 正在变化。 阅读更多。
Home

新版 Visual Studio 2005 My.Settings 对象的使用示例

starIconstarIcon
emptyStarIcon
starIcon
emptyStarIconemptyStarIcon

2.77/5 (9投票s)

2006 年 6 月 27 日

CPOL

3分钟阅读

viewsIcon

44123

downloadIcon

258

本文演示了通过集成到 VS2005 开发环境中的新 My.Settings 对象,在用户配置文件中存储和检索设置。在此过程中,我还探讨了 ListView 组件的用法,并演示了如何添加和读取其中的列。

引言

这是一个简单的应用程序,我编写它来探索 Visual Studio 2005 框架的一些新功能,并演示几个方便的特性。

展示的两个主要功能是将控件(在本例中是窗体本身)直接绑定到设置对象,以及使用代码手动读取和写入对象。

背景

在 Visual Studio 2005 中,微软引入了一个新对象,名为 "My",它简化了许多常见任务,例如文件访问、设置和获取用户和应用程序信息等等。我在这个演示应用程序中使用的特定对象是 "My.Settings" 对象,它链接到用户目录(在 Documents & Settings 下)中的一个 XML 文件。通过这种方式,保存的信息位于一个不太明显的位置,以确保安全性,并且每个用户都是唯一的,以便每个用户都可以拥有给定应用程序的自己的设置。对该文件的访问对开发人员来说是完全透明的,因此使用它非常容易!

要在您自己的项目中使用这些设置,您必须首先转到项目的“属性”页面,并配置您要使用的每个属性,如下所示

在这个例子中,您将看到我有三个属性,仅限于用户,它们有三种不同的数据类型

  1. TextItemsSpecialized.StringCollection:一个用于保存一些测试数据的列表。
  2. SizeSystem.Drawing.Size:一个通过绑定来保存窗体大小的单个变量。
  3. LocationSystem.Drawing.Point:类似于 "Size"。

我非常确定 "Size" 和 "Location" 的类型都是 "point",但由于某种原因,属性绑定特别需要这些类型,并且 Visual Studio 将仅公开具有确切正确类型的对象。

注意:我非常确定您必须首先通过上面的 Value 字段手动编辑您的 StringCollection,这将创建您在上面的对话框中看到的 XML。在您首先手动添加某种类型的测试值之前,您可能无法使用您的 StringCollection 值。

如下所示,是窗体位置的绑定属性

要绑定窗体的大小,您必须单击 "..."(省略号)以获取(PropertyBinding)字段中的高级设置,就在 "Location" 上方,然后找到 "ClientSize" 属性

设置完主窗体的绑定后,它现在将记住它在屏幕上的大小和位置,无需编程!

使用代码

现在应用程序的用户设置已配置好,它们可以通过编程非常容易地使用,正如这段代码所示,它枚举了 ListView 控件并将文本值注入到 Settings 对象中

' Loop through each item displayed in the ListView Control
For Each i As ListViewItem In Me.ListView1.Items
    ' First check to see if the item already exists
    If Not My.Settings.TextItems.Contains(i.Text) Then
        ' Add to the list to be saved for later.
        My.Settings.TextItems.Add(i.Text)
    End If
Next

从对象中读取值也同样容易

For Each str As String In My.Settings.TextItems
    Me.ListView1.Items.Add(str)
Next

关注点

关于上面代码的一个有趣的点是,它使用 "ListViewItem" 作为 ListView1.Items 集合的返回对象类型。虽然一开始不太直观,但这个对象很有用,允许完全访问 ListView 的内容,甚至允许您创建列显示,就像 DataGrid 一样。

历史

  • 版本 1.0.0.0 - 创建并于 2006 年 6 月 27 日发布。
© . All rights reserved.