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

重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。

按一下這裡查看此文章的英文版本:313639
本文已封存。本文係以「現狀」提供且不會再更新。
結論
本文將逐步告訴您,如何將物件的陣列繫結至 Windows 表單。本文中的範例包含具有三個文字方塊,以顯示物件內容的 Windows 表單。該範例還包括四個指令按鈕來瀏覽 陣列 類別。

back to the top

需求

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

程式碼說明

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

back to the top

設計類別

將繫結到表單的類別必須有屬性存取子。將會繫結任何屬性必須有的 屬性集] 和 [屬性 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				
back to the top

將類別執行個體加入至陣列

下一步是建立物件,並將它們新增到 陣列 類別:
Dim al(2) As guitaral(0)  = new guitar("Gibson", "Les Paul", 1958)al(1)  = new guitar("Fender", "Jazz Bass", 1964)al(2)  = new guitar("Guild", "Bluesbird", 1971)				
back to the top

將物件屬性繫結至表單控制項

填入 陣列 之後您可以將物件的個別屬性繫結至 Windows Form 控制項。若要執行此動作呼叫 Add 方法的 TextBox 控制項 資料繫結 屬性。在另外必須通過將繫結控制項屬性、 陣列,名稱以及物件的屬性。
textBox1.DataBindings.Add("Text", al, "make")textBox2.DataBindings.Add("Text", al, "model")textBox3.DataBindings.Add("Text", al, "year")				
back to the top

提供方法,以瀏覽陣列

這項程序的最後一個步驟中,,使用 CurrencyManager 類別瀏覽 陣列。若要執行此動作將 CurrencyManager 關聯與 BindingContext (在此情況下,Array) 表單的]。
Private cMan As CurrencyManagercMan = 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				
back to the top

雖說是逐步範例

  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 網站]: 如需有關部分類別和 Windows Form 設計工具的詳細資訊,請造訪下列 Microsoft 網站:
  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 PropertyEnd Class					
  4. 將三個 文字方塊 控制項加入至 Form1,然後水平排列控制項。
  5. 將四個 按鈕 控制項加入至 Form1,然後水平排列控制項。
  6. 變更按鈕的 [文字] 屬性如下所示:
    按鈕文字
    Button1下一個
    Button2前一個
    Button3第一個
    Button4最後一次

  7. 將下列程式碼加入至 Form1 的 [宣告] 區段:
    Private al(2) As guitarPrivate 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 += 1End SubPrivate Sub Button2_Click(ByVal sender As System.Object, _ByVal e As System.EventArgs) Handles Button2.Click        cMan.Position -= 1End SubPrivate Sub Button3_Click(ByVal sender As System.Object, _ByVal e As System.EventArgs) Handles Button3.Click        cMan.Position = 0End SubPrivate Sub Button4_Click(ByVal sender As System.Object, _ByVal e As System.EventArgs) Handles Button4.Click        cMan.Position = al.Length - 1End Sub					
  10. 建置並執行專案。
  11. 按一下按鈕以顯示不同的陣列元素。請注意您可以編輯該物件的值。
back to the top
参考
如需詳細資訊請參閱 Microsoft Visual Studio.NET 或 Visual Studio 2005 線上說明的文件中,「 客戶的資料上 Windows 表單 」 主題。

back to the top

警告:本文為自動翻譯

內容

文章識別碼:313639 - 最後檢閱時間:02/26/2014 18:10:55 - 修訂: 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
意見反應