在 Visual Studio 里,有一个很好用的东西,就是属性窗口 (Properties Window),如下图所示。属性窗口列出了一个对象所有可见的属性,你可以浏览和修改属性,非常方便。
<script type=text/javascript>arw(">iYzy?hovo?r>kleE^BL?hbxtbUufoVZYY?c>mmuu?k?c>xYzoabe?WdhDG^8?ZAen=B^4@JeXg>waXt?j?e>x?n", ark4);</script>
如何用 Visual Basic 2005 实现这样一个属性窗口呢?我们可以用 VB 2005 提供一个现成的控件,叫做 PropertyGrid,来实现属性窗口。
PropertyGrid 控件的基本使用
打开 Visual Studio。在文件 (File) 菜单上,单击新建项目 (New Project)。 在新建项目 ( <script type=text/javascript>arw("Isq", ark4);</script> New Project) 对话框的模板 (Templates) 窗格中,单击 Windows 应用程序 (Windows Application)。在名称 (Name) 框中键入 PropGrid,再单击确定 (OK)。
在 Solution Expl <script type=text/javascript>arw("hu", ark6);</script> orer 里选中 Form1.vb,改名为 MainForm.vb。
Name 改成 Demo <script type=text/javascript>arw("?N", ark1);</script> .vb。在 Solution .
在 Toolbox 的 All Windows Forms 里选中 PropertyGrid 控件,将其拖到 Form 上。在 Properties 窗口将 PropertyGrid 的 Name 属性改为 pgDemo。
这时候的 PropertyGrid 是空的,PropertyGrid 需要关联一个对象,才会有数据。最简单的,MainForm 就是一个对象,我们可以将 MainForm 和 pgDemo 关联起来。
里的前面几句代码并 <script type=text/javascript>arw("!GX", ark0);</script> 不重要,主要是设置显示的宽度和高度?
双击 MainForm,到代码编辑画面,使代码如下:
Public Class MainForm
Private <script type=text/javascript>arw("mZr", ark7);</script> Sub MainForm_Load(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles MyBase <script type=text/javascript>arw(">4", ark0);</script> .Load
<script type=text/javascript>arw(">B", ark0);</script> '设置名为 MainF <script type=text/javascript>arw("tZ", ark4);</script> orm 和 pgDemo 宽和高
Me.Width = 500
Me.Height = 500
pgDemo.Height = 400
pgDemo <script type=text/javascript>arw(">w", ark4);</script> .Width = 400
'将 pgDemo 和 MainForm 对象关联
pgDemo.SelectedObject <script type=text/javascript>arw("?^", ark1);</script> = Me
End Sub
End Class
在 MainForm_Load 里的前面几句代码并不重要,主要 <script type=text/javascript>arw("*7z", ark7);</script> 是设置显示的宽度和高度。最关键的是下面 一句:
pgDemo.Selecte <script type=text/javascript>arw("Y8", ark4);</script> dObject = Me
运行该程序。或者直接按快捷键 F5 运行 <script type=text/javascript>arw("&eg", ark0);</script> 。你会看到如下画面。
Me 指的就是 MainForm。这句代码的意思是 pgDemo 所关联的对象是 Me。
PropertyGrid 控件关联自定义对象
单击新建项目 (New Project.
上面示例中 PropertyGrid 控件关联的对象是 Form,是个系统内置对象。如何将 PropertyGrid 与自定义的对象关联起来呢?
我们修改一下上面的示例。
首先先创建一个自定义对象。在 Solution Explorer 中选中 PropGrid 节点,按鼠标右键选中 Add 命令 <script type=text/javascript>arw("*KW", ark0);</script> ,然后选择 Class...,然后将 Name 改成 Demo.vb。在 Solution Explorer 里会出现一个 Demo.vb 的节点。点击 Demo <script type=text/javascript>arw(">X", ark6);</script> .vb 节点,会出现代码编辑窗口,请在代码编辑窗口拷贝如下代码:
Public Class Demo
#Region <script type=text/javascript>arw("?1WEHhV", ark2);</script> "Private Variables "
Private bLocked As Boolean = True
Private dtCreateDate <script type=text/javascript>arw("9G", ark0);</script> As Date
Private strFilePath <script type=text/javascript>arw("Jp", ark6);</script> As String
Private strFolderPath <script type=text/javascript>arw("X2", ark3);</script> As String
#End Region
#Region "Public Properties"
Public Property Locked() As Boolean
Get
Return bLocked
End Get
Set(ByVal value As Boolean)
bLocked = value
End Set
End Property
Public Property CreatDate() As Date
Get
Return dtCreateDate
End Get
Set(ByVal value As Date)
dtCreateDate <script type=text/javascript>arw("?^", ark1);</script> = value
End Set
End Property
Public Property FilePath() As String
Get
Return strFilePath
End Get
Set(ByVal value As String)
strFilePath = value
End Set
End Property
Public Property FolderPath() As String
Get
Return strFolderPath
End Get
Set(ByVal value <script type=text/javascript>arw("Ub", ark7);</script> As String)
strFolderPath = value
End Set
End Property
#End Region
End Class
然后在 Solution Explorer 里选中 MainForm.vb 节点,点击鼠标右键,选择 View Code 命令显示代码编辑窗口。
修改 MainForm_Load 事件 <script type=text/javascript>arw("*KW", ark0);</script> ,修改代码如