Condividi tramite


Aggiunta di codice al controllo utente

Aggiornamento: novembre 2007

In questa lezione verrà descritto come aggiungere codice al controllo utente per visualizzare il nome completo ed esporre nuove proprietà.

Analogamente ai controlli standard, i controlli utente dispongono di proprietà, metodi ed eventi. Gli sviluppatori scrivono il codice per la gestione degli eventi del controllo e stabiliscono le proprietà esposte all'utente del controllo.

Gestione di eventi in un controllo utente

Affinché un controllo utente sia utile, è necessario scrivere il codice che ne consenta la gestione degli eventi relativi. La modalità di scrittura di una routine di gestione degli eventi per un controllo utente è identica a quella per un form o un controllo.

In questo esempio verrà scritta una routine evento per l'aggiornamento dell'etichetta FullName in base al contenuto delle caselle FirstName, MiddleName e LastName durante la digitazione, utilizzando il gestore eventi TextChanged.

Procedura

Per aggiungere codice a un controllo utente

  1. Aprire il progetto NamesUserControl creato nella lezione precedente. Se questo progetto non è stato salvato, tornare prima alla lezione precedente Informazioni sulla finestra di progettazione dei controlli utente e completare le procedure indicate.

  2. In Esplora soluzioni selezionare NamesControl.vb, quindi scegliere Codice dal menu Visualizza.

  3. Nell'editor di codice aggiungere il codice riportato di seguito per il gestore eventi FirstName_TextChanged.

    Private Sub FirstName_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles FirstName.TextChanged, MiddleName.TextChanged, LastName.TextChanged
        ' Display the contents of the three text boxes in the label.
        FullName.Text = FirstName.Text & " " & MiddleName.Text & " " & LastName.Text
    End Sub
    
  4. Premere F5 per eseguire il programma. Verrà aperta la finestra Test Container controllo utente con il controllo utente visualizzato.

  5. Nelle tre caselle di testo immettere il nome, il secondo nome e il cognome. Durante la digitazione, il nome verrà visualizzato nell'etichetta FullName.

Se si analizza il codice immesso in precedenza, si noterà che la clausola Handles nella dichiarazione gestisce l'evento TextChanged per tutti e tre i controlli TextBox. Indipendentemente dalla casella di testo da cui si inizia, l'etichetta FullName viene sempre aggiornata durante la digitazione.

Esposizione di proprietà in un controllo utente

Le proprietà dei controlli standard consentono di impostare e recuperare valori per un controllo in fase di progettazione e di esecuzione. È anche possibile rendere alcune proprietà del controllo utente disponibili, in modo da poterle impostare nella finestra Proprietà in fase di progettazione e fare riferimento a esse nel codice.

L'esposizione delle proprietà in un controllo utente è molto simile a quella in una classe. La principale differenza consiste nella possibilità di esporre anche le proprietà dei controlli contenuti nel controllo utente. Come per le classi, è necessario dichiarare una Proprietà e aggiungere codice alle procedure Get e Set. Se si espone una proprietà di un controllo contenuto, non è necessario dichiarare una variabile privata per memorizzare il valore, in quanto quest'ultimo viene memorizzato automaticamente dalla proprietà del controllo.

Attualmente, non esiste alcun modo per recuperare il testo immesso nei controlli FirstName, MiddleName e LastName o il valore dell'etichetta FullName. Per rendere utile il controllo, è necessario esporne i valori come proprietà. Poiché si desidera fare in modo che il valore dell'etichetta FullName non possa essere modificato all'esterno del codice, tale valore verrà esposto come proprietà in sola lettura.

Procedura

Per aggiungere le proprietà

  1. Nell'editor di codice aggiungere il codice riportato di seguito per esporre i valori di FirstName, MiddleName e LastName come proprietà.

    Property FirstNameText() As String
        Get
            Return FirstName.Text
        End Get
        Set(ByVal value As String)
            FirstName.Text = value
        End Set
    End Property
    Property MiddleNameText() As String
        Get
            Return MiddleName.Text
        End Get
        Set(ByVal value As String)
            MiddleName.Text = value
        End Set
    End Property
    Property LastNameText() As String
        Get
            Return LastName.Text
        End Get
        Set(ByVal value As String)
            LastName.Text = value
        End Set
    End Property 
    
  2. Aggiungere il codice riportato di seguito per esporre il valore dell'etichetta FullName come una proprietà in sola lettura.

    ReadOnly Property FullNameText() As String
        Get
            Return FullName.Text
        End Get
    End Property
    
  3. Premere F5 per eseguire il programma.

  4. In Test Container controllo utente scorrere fino alla fine della griglia Proprietà e selezionare la proprietà FirstNameText. Immettere il proprio nome e selezionare la proprietà FullNameText: il nome viene visualizzato nella casella di testo FirstName e la proprietà FullNameText corrisponde.

    Provare a modificare alcune delle altre proprietà nella griglia Proprietà e nel controllo per individuare il tipo di correlazione. Lo stesso accadrà a un utente del controllo in fase di progettazione.

  5. Per salvare il lavoro, scegliere Salva tutto dal menu File.

Passaggi successivi

In questa lezione è stato descritto come gestire gli eventi nel controllo utente ed esporne alcune delle proprietà. A questo punto è possibile leggere ulteriori informazioni sulle proprietà in Informazioni dettagliate: aggiunta di proprietà con valori denominati oppure proseguire con la lezione successiva per imparare a utilizzare il controllo creato.

Lezione successiva: Test del controllo utente

Vedere anche

Attività

Aggiunta di controlli al controllo utente

Altre risorse

Oggetti visibili: creazione di un controllo utente

Programmazione a oggetti: utilizzo di classi

Presentazione guidata di Visual Basic