Condividi tramite


Procedura: passare oggetti a routine

Aggiornamento: novembre 2007

Visual Basic consente di passare degli oggetti come argomenti alle routine nello stesso modo in cui si passano altri tipi di argomenti. Nelle procedure riportate di seguito ne verranno illustrate le modalità.

Per passare una nuova istanza di un form a una routine

  1. Aprire un progetto, creare un nuovo form denominato Form1 e aggiungervi un pulsante di comando denominato Button1.

  2. Copiare il seguente codice nel form:

    Private Sub Button1_Click(ByVal sender As Object, _
        ByVal e As System.EventArgs) Handles Button1.Click
    
        Dim newForm As New Form1
        newForm.Show()
        CenterForm(newForm)
    End Sub
    
    Sub CenterForm(ByVal TheForm As Form)
        ' Centers the form on the screen.
        Dim RecForm As Rectangle = Screen.GetBounds(TheForm)
        TheForm.Left = CInt((RecForm.Width - TheForm.Width) / 2)
        TheForm.Top = CInt((RecForm.Height - TheForm.Height) / 2)
    End Sub
    

    È inoltre possibile passare un oggetto come argomento per riferimento, quindi, all'interno della routine, assegnare un nuovo oggetto all'argomento.

Per passare un oggetto per riferimento a una routine presente in un altro form

  1. Aprire un progetto e creare un form denominato Form1.

  2. Aggiungere un secondo form denominato Form2.

  3. Inserire un controllo casella immagine in ciascun form.

  4. Denominare PictureBox1 il controllo PictureBox presente in Form1.

  5. Denominare PictureBox2 il controllo PictureBox presente in Form2.

  6. Assegnare un'immagine a PictureBox2 facendo clic sulla proprietà Image nella finestra Proprietà. Una qualsiasi immagine di piccole dimensioni sarà appropriata. Nella directory Windows sono disponibili file BMP e JPG.

  7. Aggiungere il seguente codice a Form2:

    Public Sub GetPicture(ByVal x As PictureBox)
        Dim objX As PictureBox
        ' Assign the passed-in picture box to an object variable.
        objX = x
        ' Assign the value of the Picture property to the Form1 picture box.
        objX.Image = PictureBox2.Image
    End Sub
    
  8. Aggiungere il codice seguente all'evento Form1_Click su Form1:

    Protected Sub Form1_Click(ByVal sender As System.Object, _
          ByVal e As System.EventArgs)
        Dim newForm2 As New Form2
        newForm2.GetPicture(PictureBox1)
    End Sub
    
  9. Eseguire l'applicazione e fare clic su Form1. L'immagine di Form2 verrà visualizzata nella casella immagine di Form1.

    La routine dell'evento Form1_Click chiama la routine GetPicture di Form2 e vi passa il controllo PictureBox vuoto. La routine GetPicture di Form2 assegna la proprietà Image della casella immagine di Form2 alla casella immagine vuota di Form1 e l'immagine di Form2 viene visualizzata in Form1.

Vedere anche

Concetti

Gestione delle risorse

Altre risorse

Programmazione orientata a oggetti in Visual Basic

Programmazione con i componenti