HOW TO: Associare un ArrayList o un insieme di oggetti a un Windows Form utilizzando Visual Basic .NET

Traduzione articoli Traduzione articoli
Identificativo articolo: 313640 - Visualizza i prodotti a cui si riferisce l?articolo.
Questo articolo Ŕ stato precedentemente pubblicato con il codice di riferimento I313640
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 descritto in dettaglio come associare un ArrayList di oggetti a un Windows Form. L'esempio in questo articolo include un Windows Form con tre caselle di testo per la visualizzazione delle proprietÓ dell'oggetto e quattro pulsanti di comando per scorrere l'ArrayList.

Requisiti

Di seguito vengono indicati l'hardware, il software, l'infrastruttura di rete, le capacitÓ, le conoscenze e i Service Pack necessari:
  • Visual Basic .NET
  • Conoscenza intermedia dei concetti di programmazione con Visual Basic

Descrizione del codice

In questa sezione vengono illustrati i concetti relativi alla creazione di codice necessari per completare questa operazione.

Progettazione della classe

Una classe che dovrÓ essere associata a un form deve disporre di funzioni di accesso alle proprietÓ. Una proprietÓ che sarÓ associata deve disporre di metodi Property Set e Property Get. La classe utilizzata per l'esempio in questo articolo dispone di tre proprietÓ, di cui solo una viene descritta in questa sezione. Nell'esempio in questo articolo Ŕ incluso anche un costruttore con parametri, sebbene non costituisca un requisito.
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

Aggiunta di istanze della classe a un ArrayList

Il passaggio successivo consiste nel creare oggetti e aggiungerli alla classe ArrayList:
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))

Associazione delle proprietÓ dell'oggetto ai controlli del form

Dopo la compilazione dell'ArrayList Ŕ possibile associare le singole proprietÓ dell'oggetto ai controlli del Windows Form. Per eseguire questa operazione chiamare il metodo Add della proprietÓ DataBindings del controllo TextBox. Passare inoltre la proprietÓ del controllo da associare, il nome dell'ArrayList e la proprietÓ dell'oggetto.
TextBox1.DataBindings.Add("Text", al, "Make")
TextBox2.DataBindings.Add("Text", al, "Model")
TextBox3.DataBindings.Add("Text", al, "Year")

Creazione di un metodo per scorrere l'ArrayList

Nell'ultimo passaggio di questo processo utilizzare una classe CurrencyManager per scorrere l'ArrayList. Per eseguire questa operazione, associare CurrencyManager al BindingContext del form, in questo caso l'ArrayList.
Private cMan As CurrencyManager

cMan = CType(Me.BindingContext(al), CurrencyManager)
La classe CurrencyManager dispone di una proprietÓ Position che pu˛ essere modificata per scorrere i membri dell'ArrayList. Sommando o sottraendo il valore corrente di Position Ŕ possibile visualizzare diversi membri dell'ArrayList 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.Count - 1

Procedura di esempio

  1. Creare un nuovo progetto Applicazione Windows in 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 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 tre controlli TextBox a Form1, quindi disporre i controlli orizzontalmente.
  5. Aggiungere quattro controlli Button a Form1, quindi disporre i controlli orizzontalmente.
  6. Modificare la proprietÓ Text dei pulsanti come segue:
    Riduci questa tabellaEspandi questa tabella
    Pulsante Testo
    Button1 Successivo
    Button2 Precedente
    Button3 Primo
    Button4 Ultimo

  7. Aggiungere il codice riportato di seguito alla sezione relativa alle dichiarazioni di Form1:
    Private al As New ArrayList()
    Private cMan As CurrencyManager
  8. Aggiungere il codice riportato di seguito all'evento 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")
  9. Aggiungere il seguente codice 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.Count - 1
    End Sub
  10. Compilare ed eseguire il progetto.
  11. Fare clic sui pulsanti per visualizzare i vari elementi della matrice. ╚ possibile modificare i valori degli oggetti.

Utilizzo di un oggetto Collection

╚ anche possibile utilizzare un oggetto Collection per memorizzare le strutture. Per eseguire il test di un oggetto Collection, attenersi alla seguente procedura:
  1. Individuare il seguente codice nella routine dell'evento Form_Load:
    Dim al As New ArrayList()
  2. Sostituire il codice precedente con il seguente:
    Dim al As New Collection()
  3. Salvare le modifiche al progetto, quindi eseguirlo di nuovo.

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: 313640 - 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 KB313640
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.

Invia suggerimenti

 

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