本文將逐步告訴您,如何將物件的
陣列清單 繫結至 Microsoft Windows Form 或 Microsoft Visual Baisc.NET Microsoft Visual Basic 2005 中。本文中的範例包括 Windows Form 以三個文字方塊以顯示物件屬性。該範例還包括四個命令按鈕,瀏覽
陣列清單。
需求
下列清單列出建議的硬體、 軟體、 網路基礎結構及您需要的服務套件:
- Visual Basic 2005 或 Visual Basic.NET
本文假設您擁有對 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
將類別執行個體加入至陣列
下一步是建立物件,並將它們新增到
陣列清單 類別:
Private al As New ArrayList()
al.Add(New guitar("Gibson", "Les Paul", 1958))
al.Add(New guitar("Fender", "Jazz Bass", 1964))
al.Add(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 類別瀏覽
陣列清單。若要執行此動作將關聯
CurrencyManagerBindingContext 表單 (在此情況下,
陣列清單) 的使用]。
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.Count - 1
逐步範例
- 在 Visual Basic 2005 或 Visual Basic.NET,請建立新的 Windows 應用程式專案。Form1 是根據預設值加入至專案。
附註 您必須變更程式碼,在 Visual Basic 2005 中。依預設,Visual Basic 專案的兩個檔案時建立建立一個 Windows Form 專案。如果表單名為 Form1,代表表單的兩個檔案被命名 Form1.vb 並 Form1.Designer.vb。Form1.vb 檔案中撰寫程式碼。Windows Form 設計工具將 Form1.Designer.vb 檔案中寫入程式碼。Windows Form 設計工具使用 Partial 關鍵字來實作的 Form1 分成兩個獨立的檔案。這種行為可以防止設計工具產生的程式碼正在與您的程式碼位置顛倒。
如需有關新的 Visual Basic 2005 語言加強功能的詳細資訊,請造訪下列 Microsoft 開發 o 人 h 員 ? 工 u 具 ? 網路 (MSDN) 網站: 如需有關部分類別和 Windows Form 設計工具的詳細資訊,請造訪下列 MSDN 網站: - 將類別加入至專案。
- 在 [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
- 將三個 文字方塊 控制項加入至 Form1,然後水平排列控制項。
- 將四個 按鈕 控制項加入至 Form1,然後水平排列控制項。
- 變更按鈕的 [文字] 屬性如下所示:
摺疊此表格展開此表格
| 按鈕 | 文字 |
|---|
| Button1 | 下一個 |
| Button2 | 前一個 |
| Button3 | 第一個 |
| Button4 | 最後一次 |
- 將下列程式碼加入至 Form1 的 [宣告] 區段:
Private al As New ArrayList()
Private cMan As CurrencyManager
- 將下列程式碼加入至 Form_Load 事件:
al.Add(New guitar("Gibson", "Les Paul", 1958))
al.Add(New guitar("Fender", "Jazz Bass", 1964))
al.Add(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")
- 在 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.Count - 1
End Sub
- 建置並執行專案。
- 按一下按鈕以顯示不同的陣列元素。請注意您可以編輯該物件的值。
使用集合物件
您也可以使用
集合 物件來儲存該結構。若要測試的
集合 物件使用,請依照下列步驟執行:
- 在 Form_Load 事件程序中找到下列的程式碼:
Private al As New ArrayList()
- 上述程式碼取代下列程式碼:
Private al As New Collection()
- 將變更儲存至專案],然後再執行專案。
如需詳細資訊請參閱 「 客戶的資料上 Windows 表單 」 主題,Visual Studio 2005 或 Visual Studio.NET [線上說明的文件中]。
文章編號: 313640 - 上次校閱: 2007年5月11日 - 版次: 4.5
這篇文章中的資訊適用於:
- Microsoft Visual Basic 2005
- Microsoft Visual Basic .NET 2003 Standard Edition
- Microsoft Visual Basic .NET 2002 Standard Edition
| kbmt kbvs2005swept kbvs2005applies kbhowtomaster KB313640 KbMtzh |
機器翻譯重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:
313640
(http://support.microsoft.com/kb/313640/en-us/
)
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。