Bu adım adım makalede, Windows forma bir
ArrayList yapıları bağlamak gösterilmiştir. Örnek, üç metin kutusu ile Windows
ArrayList taşımak için yapı üyeleri ve dört komut düğmeleri görüntülemek için form içerir.
Gereksinimler
Microsoft Visual Basic .NET'i veya Microsoft Visual Basic 2005
Tartışma kodu
Bu bölüm, bu görevi tamamlamak için gerekli olan önemli kodlama kavramlarını açıklar.
Yapısını tasarlama
Bir forma bağlı olan BIR yapı üye erişenleri olmalıdır. Yapı üye erişimcileri neredeyse
Özellik kümesi gösterilenlerle aynı /
Al, yapı bir sınıfta bulunamadı. Bu makaledeki örnek için kullanılan yapı (yalnızca biri gösterilir) üç üye yok. Bir
parametreli hale getirilmiş bir kurucu sağlanan ancak gerekli değildir.
Private Structure guitar
Friend mmake As String
Friend mmodel As String
Friend myear As Short
Public Sub New(ByVal make, ByVal model, ByVal year)
Me.mmake = make
Me.mmodel = model
Me.myear = year
End Sub
Public Property make() As String
Get
make = mmake
End Get
Set(ByVal Value As String)
mmake = Value
End Set
End Property
End Structure
Için bir ekleme yapı örnekleri
T örneği oluşturmak ve bunları için
ArrayList eklemek için şu adımları izleyin:
- Yapısının türünde değişken bildirir.
- Bir ArrayList bildirin.
- Yapısı yaratmak ve ArrayList için bunları ekleyin.
Private myStruct As guitar
Dim al As New ArrayList()
myStruct = New guitar("Gibson", "Les Paul", 1958)
al.Add(myStruct)
myStruct = New guitar("Fender", "Jazz Bass", 1964)
al.Add(myStruct)
myStruct = New guitar("Guild", "Bluesbird", 1971)
al.Add(myStruct)
Yapı üyeleri, form denetimleri için bağlama
ArrayList doldurulur sonra Windows Forms denetimleri için tek tek üyelere yapısının bağlayabilirsiniz. Bunu yapmak için <a0></a0>,
Metin kutusu DataBindings özelliği <a1>
Ekle</a1> yöntemini arayın ve bağlanacak özelliği,
ArrayList adını ve yapısını üyesi geçirmek gerekir.
TextBox1.DataBindings.Add("Text", al, "make")
TextBox2.DataBindings.Add("Text", al, "model")
TextBox3.DataBindings.Add("Text", al, "year")
ArrayList arası taşıma için bir yol sağlar.
Işleminde son adım,
ArrayList taşımak için bir yol sağlamaktır. Bunu yapmak için <a0></a0>, bir
CurrencyManager kullanmanız gerekir.
CurrencyManager formun
BindingContext ile bu durumda, yapıları
ArrayList ilişkilendirin.
Private cMan As CurrencyManager
cMan = CType(Me.BindingContext(al), CurrencyManager)
CurrencyManager nesnesi'ı
ArrayList üyeleri üzerinde yineleme için kullanılabilirler bir
Konum özelliğine sahiptir. Ekleme veya
konumu, geçerli değerini çıkararak, formda
ArrayList farklı üyeleri de görüntüleyebilirsiniz.
'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
Adım adım örnek
- Yeni bir Windows uygulaması projesi, Visual Basic 2005 veya Visual Basic. NET'te açın.
- Form1'e üç metin kutusu ekleyin ve sonra bu denetimleri yatay yerleştir.
- Form1'e dört komut düğmesi ekleyin ve sonra bu denetimleri yatay yerleştir.
- Metin özellik Button1 ileri için değiştirin.
- BUTTON2 metin özelliği, önceki için değiştirin.
- Metin özellik Button3 ilk için değiştirin.
- Button4 metin özelliği, son için değiştirin.
- Aşağıdaki kodu, Beyanname bölüm Form1 ekleyin:
Private Structure guitar
Friend mmake As String
Friend mmodel As String
Friend myear As Short
Public Sub New(ByVal make, ByVal model, ByVal year)
Me.mmake = make
Me.mmodel = model
Me.myear = year
End Sub
Public Property make() As String
Get
make = mmake
End Get
Set(ByVal Value As String)
mmake = Value
End Set
End Property
Public Property model() As String
Get
model = mmodel
End Get
Set(ByVal Value As String)
mmodel = Value
End Set
End Property
Public Property year() As Short
Get
year = myear
End Get
Set(ByVal Value As Short)
myear = Value
End Set
End Property
End Structure
Private myStruct As guitar
Private al As New ArrayList()
Private cMan As CurrencyManager
- Form_Load olay için aşağıdaki kodu ekleyin:
myStruct = New guitar("Gibson", "Les Paul", 1958)
al.Add(myStruct)
myStruct = New guitar("Fender", "Jazz Bass", 1964)
al.Add(myStruct)
myStruct = New guitar("Guild", "Bluesbird", 1971)
al.Add(myStruct)
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 olayından sonra aşağıdaki kodu ekleyin:
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
- Oluşturup projeyi çalıştırın.
- Farklı ArrayList öğeleri görüntülemek için düğmeleri tıklatın. Not nesnelerin değerlerini düzenleyebilirsiniz.
Topluluk kullanma
Bir
koleksiyon nesnesi, yapıların depolamak için kullanabilirsiniz.
Koleksiyonu kullanımını sınamak için <a0></a0>,
Form_Load olay yordamında aşağıdaki kod satırını bulun:
Private al As New ArrayList()
önceki satırın kodu aşağıdaki kodla değiştir ve örnek'ı yeniden çalıştırın:
Private al As New Collection()
Başvurular
Visual Studio .NET veya Visual Studio 2005 çevrimiçi Yardım'ın belgelerinde aşağıdaki konuya bakın:
Tüketici Windows formlarda veri
Makale numarası: 313638 - Son Gözden Geçirme: 06 Aralık 2006 Çarşamba - Gözden geçirme: 3.3
Bu makaledeki bilginin uygulandığı durum:
- Microsoft Visual Basic .NET 2002 Standard Edition
- Microsoft Visual Basic .NET 2003 Standard Edition
- Microsoft Visual Basic 2005
| kbmt kbvs2005swept kbvs2005applies kbhowtomaster KB313638 KbMttr |
Otomatik TercümeÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:
313638
(http://support.microsoft.com/kb/313638/en-us/
)