如何将一个对象数组绑定到 Windows 窗体中,通过使用 Visual Basic.net 或 Visual Basic 2005

文章翻译 文章翻译
文章编号: 313639 - 查看本文应用于的产品
本文已归档。它按“原样”提供,并且不再更新。
展开全部 | 关闭全部

本文内容

概要

本分步指南介绍了如何将一个对象数组绑定到 Windows 窗体。本文中的示例包括三个文本框以显示对象属性具有的 Windows 窗体。该示例还包括四个命令按钮以浏览 数组 类。

要求

下面的列表概述了建议的硬件、 软件、 网络基础结构、 技能、 知识和您需要的服务包:
  • Microsoft Visual Basic.net 或 Microsoft Visual Basic 2005
  • 中级 vba 编程概念的理解

代码说明

本节重点介绍了编码所需完成此任务的概念。

设计类

将绑定到窗体的类必须有属性访问器。任何属性都将绑定必须具有的 属性集 和 $ 属性的 Get 方法。为使本示例在这篇文章中使用的类有三个属性 (在此部分显示只有一个)。本文中的示例还包括一个带参数的构造函数,但这不是必须。
Public Class guitar
    Private m_make As String
    Private m_model As String
    Private m_year As Short

    Public Sub New(ByVal make, ByRef model, ByVal year)
        Me.make = make
        Me.model = model
        Me.year = year
    End Sub
    Public Property make() As String
        Get
            Return m_make
        End Get
        Set(ByVal Value As String)
            m_make = Value
        End Set
    End Property 
End Class
				

将类实例添加到一个数组

下一步是创建对象,并将其添加到 阵列 类:
Dim al(2) As guitar

al(0)  = new guitar("Gibson", "Les Paul", 1958)
al(1)  = new guitar("Fender", "Jazz Bass", 1964)
al(2)  = new guitar("Guild", "Bluesbird", 1971)
				

将对象属性绑定到窗体控件

阵列,则填充后,您可以将该对象的个别属性绑定到 Windows 窗体控件。若要执行此操作调用 TextBox 控件的 数据绑定 属性的 Add 方法。此外,您必须通过将绑定的控件属性、 数组 的名称和对象的属性。
textBox1.DataBindings.Add("Text", al, "make")
textBox2.DataBindings.Add("Text", al, "model")
textBox3.DataBindings.Add("Text", al, "year")
				

浏览通过阵列提供一个平均值

在此过程的最后一步中,您可以浏览 阵列 使用 CurrencyManager 类。若要这样做将与窗体 (在此例 阵列) 的 BindingContextCurrencyManager 相关联。
Private cMan As CurrencyManager

cMan = CType(Me.BindingContext(al), CurrencyManager)
				
CurrencyManager 类有一个 位置 属性,可以以循环访问 数组 的成员进行处理。通过向,添加或减去当前值的 位置,您可以在窗体上显示 数组 的不同成员。例如:
'Move forward one element.
cMan.Position += 1
'Move back one element.
cMan.Position -= 1
'Move to the beginning.
cMan.Position = 0
'Move to the end.
cMan.Position = al.Length - 1
				

分步示例

  1. 在 Visual Basic.net 或 Visual Basic 2005 中打开一个新的 Windows 应用程序项目。默认情况下,Form1 将添加到项目。

    注意在 Visual Basic 2005 中更改代码。如果创建了名为 Form1 在 Visual Basic 2005 中的新的窗体必须 Form1.vb 文件为您的代码和一个 Form1.Designer.vb 文件,其中包含自动生成的部分。Windows 窗体设计器使用 partial 关键字将 Form1 的实现划分为两个单独的文件。这样可以防止在设计器发出的代码正在与您的代码交错。

    有关新的 Visual Basic 2005 语言增强功能的详细信息,请访问下面的 Microsoft 网站:
    http://msdn2.microsoft.com/en-us/library/ms379584(vs.80).aspx
    有关分部类和 Windows 窗体设计器的详细信息请访问下面的 Microsoft 网站:
    http://msdn2.microsoft.com/en-us/library/ms171843.aspx
  2. 将类添加到项目中。
  3. 在 Class1.vb 中的将代码替换下面的代码:
    Public Class guitar
        Private m_make As String
        Private m_model As String
        Private m_year As Short
    
        Public Sub New(ByVal make, ByRef model, ByVal year)
            Me.make = make
            Me.model = model
            Me.year = year
        End Sub
        Public Property make() As String
            Get
                Return m_make
            End Get
            Set(ByVal Value As String)
                m_make = Value
            End Set
        End Property
        Public Property model() As String
            Get
                Return m_model
            End Get
            Set(ByVal Value As String)
                m_model = Value
            End Set
        End Property
        Public Property year() As Short
            Get
                Return m_year
            End Get
            Set(ByVal Value As Short)
                m_year = Value
            End Set
        End Property
    End Class
    					
  4. 将三个 文本框 控件添加到 Form1,然后横向排列控件。
  5. 将四个 按钮 控件添加到 Form1,然后横向排列控件。
  6. 更改按钮的 Text 属性,如下所示:
    收起该表格展开该表格
    按钮文本
    Button1下一个
    Button2上一个
    Button3第一次
    Button4最后一个

  7. 下面的代码添加到 Form1 的声明部分:
    Private al(2) As guitar
    Private cMan As CurrencyManager
    					
  8. 将下面的代码添加到 Form_Load 事件:
    al(0)  = new guitar("Gibson", "Les Paul", 1958)
    al(1)  = new guitar("Fender", "Jazz Bass", 1964)
    al(2)  = new guitar("Guild", "Bluesbird", 1971)
    
    cMan = CType(Me.BindingContext(al), CurrencyManager)
    
    TextBox1.DataBindings.Add("Text", al, "make")
    TextBox2.DataBindings.Add("Text", al, "model")
    TextBox3.DataBindings.Add("Text", al, "year")
    					

  9. Form_Load 事件发生后添加以下代码:
    Private Sub Button1_Click(ByVal sender As System.Object, _
    ByVal e As System.EventArgs) Handles Button1.Click
            cMan.Position += 1
    End Sub
    
    Private Sub Button2_Click(ByVal sender As System.Object, _
    ByVal e As System.EventArgs) Handles Button2.Click
            cMan.Position -= 1
    End Sub
    
    Private Sub Button3_Click(ByVal sender As System.Object, _
    ByVal e As System.EventArgs) Handles Button3.Click
            cMan.Position = 0
    End Sub
    
    Private Sub Button4_Click(ByVal sender As System.Object, _
    ByVal e As System.EventArgs) Handles Button4.Click
            cMan.Position = al.Length - 1
    End Sub
    					
  10. 生成并运行该项目。
  11. 单击以显示不同的数组元素按钮。注意您可以编辑该对象的值。

参考

更多的信息,请参阅 Microsoft Visual Studio.net 或 $ Visual Studio 2005 联机帮助文档中的"用户的数据在 Windows 窗体"主题。

属性

文章编号: 313639 - 最后修改: 2014年2月24日 - 修订: 2.7
这篇文章中的信息适用于:
  • Microsoft Visual .NET 2002 标准版
  • Microsoft Visual Basic .NET 2003 标准版
  • Microsoft Visual Basic 2005
关键字:?
kbnosurvey kbarchive kbmt kbvs2005swept kbvs2005applies kbhowtomaster KB313639 KbMtzh
机器翻译
注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。
点击这里察看该文章的英文版: 313639
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com