用 PropertyGrid 实现 Visual Studio 2005 样式的属性窗口

本文介绍了如何使用Visual Basic 2005的PropertyGrid控件来实现类似Visual Studio 2005属性窗口的功能。通过示例详细讲解了PropertyGrid的基本使用,包括关联自定义对象、显示文件对话框和目录浏览对话框,以及设置属性类别、说明、可见性和默认值。
摘要由CSDN通过智能技术生成

在 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> vb2005 propertygrid

如何用 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> ,修改代码如

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值