HOW TO: Associare una matrice di oggetti a un form di Windows con Visual Basic .NET

Questo articolo è stato precedentemente pubblicato con il codice di riferimento I313639
Questo articolo è stato archiviato. L’articolo, quindi, viene offerto “così come è” e non verrà più aggiornato.
Per la versione di questo articolo relativa a Microsoft Visual C# .NET vedere (gli articoli con prefisso "Q" contengono informazioni in inglese): 313635.

CONTENUTO DELL'ATTIVITÀ

Sommario
In questo articolo viene illustrata la procedura dettagliata per associare una matrice di oggetti a un form di Windows. L'esempio riportato in questo articolo include un form di Windows con tre caselle di testo per visualizzare le proprietà degli oggetti. Include inoltre quattro pulsanti di comando per scorrere la classe Array.

Torna all'inizio

Requisiti

Nell'elenco che segue vengono indicati l'hardware, il software, l'infrastruttura di rete, le capacità, le conoscenze e i Service Pack necessari:
  • Microsoft Visual Basic .NET
  • Livello di conoscenza intermedio dei concetti della programmazione in Visual Basic
Torna all'inizio

Descrizione del codice

In questa sezione viene illustrato il codice necessario per eseguire questa operazione.

Torna all'inizio

Progettare la classe

La classe che verrà associata a un form deve avere funzioni di accesso alle proprietà. Qualsiasi proprietà che verrà associata deve avere i metodi Property Set e Property Get. La classe utilizzata nell'esempio di questo articolo ha tre proprietà (in questa sezione ne viene illustrata solo una). L'esempio di questo articolo include inoltre un costruttore con parametri, sebbene non sia indispensabile.
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 PropertyEnd Class
Torna all'inizio

Aggiungere istanze della classe a una matrice

Il passaggio successivo consiste nel creare gli oggetti e nell'aggiungerli alla classe Array:
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)
Torna all'inizio

Associare le proprietà degli oggetti a controlli del form

Dopo aver compilato la classe Array, è possibile associare le singole proprietà dell'oggetto a controlli Windows Form. A tal scopo, chiamare il metodo Add della proprietà DataBindings del controllo TextBox. È inoltre necessario passare la proprietà del controllo che verrà associato, il nome dell'Array e la proprietà dell'oggetto.
textBox1.DataBindings.Add("Text", al, "make")textBox2.DataBindings.Add("Text", al, "model")textBox3.DataBindings.Add("Text", al, "year")
Torna all'inizio

Fornire un metodo per scorrere la matrice

L'ultimo passaggio della procedura prevede l'utilizzo della classe CurrencyManager per consentire di sfogliare l'Array. A tal scopo, associare la classe CurrencyManager al BindingContext del form (in questo caso, l'Array).
Private cMan As CurrencyManagercMan = CType(Me.BindingContext(al), CurrencyManager)
La classe CurrencyManager ha una proprietà Position che è possibile modificare per scorrere i membri dell'Array. Sommando a o sottraendo da il valore corrente di Position, è possibile visualizzare membri diversi dell'Array nel form. Ad esempio:
'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
Torna all'inizio

Procedura di esempio

  1. Aprire un nuovo progetto Applicazione console di Visual Basic .NET. In base all'impostazione predefinita verrà aggiunto al progetto il Form1.
  2. Aggiungere una classe al progetto.
  3. Sostituire il codice in Class1.vb con il codice seguente:
    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. Aggiungere al Form1 tre controlli TextBox, quindi disporli orizzontalmente.
  5. Aggiungere al Form1 quattro controlli Button, quindi disporli orizzontalmente.
  6. Modificare la proprietà Text dei pulsanti come indicato di seguito:
    PulsanteText
    Button1Avanti
    Button2Indietro
    Button3Primo
    Button4Ultimo

  7. Aggiungere il codice riportato di seguito alla sezione Declaration di Form1:
    Private al(2) As guitarPrivate cMan As CurrencyManager
  8. Aggiungere il codice seguente all'evento 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. Aggiungere il codice seguente dopo l'evento 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. Compilare ed eseguire il progetto.
  11. Fare clic sui pulsanti per visualizzare vari elementi della matrice. Si noti che è possibile modificare i valori degli oggetti.
Torna all'inizio

RIFERIMENTI

Per ulteriori informazioni, vedere l'argomento "Consumer di dati in Windows Form" della Guida in linea di Microsoft Visual Studio .NET.

Torna all'inizio
Proprietà

ID articolo: 313639 - Ultima revisione: 02/24/2014 20:25:13 - Revisione: 1.0

Microsoft Visual Basic .NET 2002 Standard Edition

  • kbnosurvey kbarchive kbhowto kbhowtomaster KB313639
Feedback