如何將繫結物件的陣列至 Windows 表單使用 Visual Basic.NET 或 Visual Basic 2005

文章翻譯 文章翻譯
文章編號: 313639 - 檢視此文章適用的產品。
本文已封存。本文係以「現狀」提供且不會再更新。
全部展開 | 全部摺疊

在此頁中

結論

本文將逐步告訴您,如何將物件的陣列繫結至 Windows 表單。本文中的範例包含具有三個文字方塊,以顯示物件內容的 Windows 表單。該範例還包括四個指令按鈕來瀏覽 陣列 類別。

需求

下列清單列出建議的硬體、 軟體、 網路基礎結構、 技能、 知識及您需要的服務套件:
  • Microsoft Visual Basic.NET 或 Microsoft Visual Basic 2005
  • 中級瞭解的 Visual Basic 程式設計概念

程式碼說明

本章節會反白顯示編碼所需完成這項工作的概念。

設計類別

將繫結到表單的類別必須有屬性存取子。將會繫結任何屬性必須有的 屬性集] 和 [屬性 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 Form 控制項。若要執行此動作呼叫 Add 方法的 TextBox 控制項 資料繫結 屬性。在另外必須通過將繫結控制項屬性、 陣列,名稱以及物件的屬性。
textBox1.DataBindings.Add("Text", al, "make")
textBox2.DataBindings.Add("Text", al, "model")
textBox3.DataBindings.Add("Text", al, "year")
				

提供方法,以瀏覽陣列

這項程序的最後一個步驟中,,使用 CurrencyManager 類別瀏覽 陣列。若要執行此動作將 CurrencyManager 關聯與 BindingContext (在此情況下,Array) 表單的]。
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 Form 設計工具使用 Partial 關鍵字來實作的 Form1 分成兩個獨立的檔案。這可以防止設計工具發出的程式碼正在與您的程式碼位置顛倒。

    如需有關新的 Visual Basic 2005 語言加強功能的詳細資訊,請造訪下列 Microsoft 網站]:
    http://msdn2.microsoft.com/en-us/library/ms379584(vs.80).aspx
    如需有關部分類別和 Windows Form 設計工具的詳細資訊,請造訪下列 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. 變更按鈕的 [文字] 屬性如下所示:
    摺疊此表格展開此表格
    按鈕文字
    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月26日 - 版次: 2.7
這篇文章中的資訊適用於:
  • Microsoft Visual Basic .NET 2002 Standard Edition
  • Microsoft Visual Basic .NET 2003 Standard Edition
  • Microsoft Visual Basic 2005
關鍵字:?
kbnosurvey kbarchive kbmt kbvs2005swept kbvs2005applies kbhowtomaster KB313639 KbMtzh
機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本: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