新版 Visual Studio 2005 My.Settings 对象的使用示例
本文演示了通过集成到 VS2005 开发环境中的新 My.Settings 对象,在用户配置文件中存储和检索设置。在此过程中,我还探讨了 ListView 组件的用法,并演示了如何添加和读取其中的列。
引言
这是一个简单的应用程序,我编写它来探索 Visual Studio 2005 框架的一些新功能,并演示几个方便的特性。
展示的两个主要功能是将控件(在本例中是窗体本身)直接绑定到设置对象,以及使用代码手动读取和写入对象。
背景
在 Visual Studio 2005 中,微软引入了一个新对象,名为 "My
",它简化了许多常见任务,例如文件访问、设置和获取用户和应用程序信息等等。我在这个演示应用程序中使用的特定对象是 "My.Settings
" 对象,它链接到用户目录(在 Documents & Settings 下)中的一个 XML 文件。通过这种方式,保存的信息位于一个不太明显的位置,以确保安全性,并且每个用户都是唯一的,以便每个用户都可以拥有给定应用程序的自己的设置。对该文件的访问对开发人员来说是完全透明的,因此使用它非常容易!
要在您自己的项目中使用这些设置,您必须首先转到项目的“属性”页面,并配置您要使用的每个属性,如下所示
在这个例子中,您将看到我有三个属性,仅限于用户,它们有三种不同的数据类型
TextItems
:Specialized.StringCollection
:一个用于保存一些测试数据的列表。Size
:System.Drawing.Size
:一个通过绑定来保存窗体大小的单个变量。Location
:System.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 日发布。