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

Traduzione articoli Traduzione articoli
Identificativo articolo: 313639 - Visualizza i prodotti a cui si riferisce l?articolo.
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.
Espandi tutto | Chiudi tutto

In questa pagina

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.

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

Descrizione del codice

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

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 Property
End Class

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 guitar

al(0)  = new guitar("Gibson", "Les Paul", 1958)
al(1)  = new guitar("Fender", "Jazz Bass", 1964)
al(2)  = new guitar("Guild", "Bluesbird", 1971)

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")

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 CurrencyManager

cMan = 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

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 Property
    End 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:
    Riduci questa tabellaEspandi questa tabella
    Pulsante Text
    Button1 Avanti
    Button2 Indietro
    Button3 Primo
    Button4 Ultimo

  7. Aggiungere il codice riportato di seguito alla sezione Declaration di Form1:
    Private al(2) As guitar
    Private 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 += 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. 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.

RIFERIMENTI

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

ProprietÓ

Identificativo articolo: 313639 - Ultima modifica: lunedý 24 febbraio 2014 - Revisione: 1.0
Le informazioni in questo articolo si applicano a
  • Microsoft Visual Basic .NET 2002 Standard Edition
Chiavi:á
kbnosurvey kbarchive kbhowto kbhowtomaster KB313639
LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO.

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