Partilhar via


Como: Objetos de passagem para procedimentos

Visual Basic permite que você passe objetos como argumentos para procedimentos da mesma forma que você passa outros tipos de argumentos.Os procedimentos a seguir demonstram como.

Para passar uma nova instância de um formulário para um procedimento

  1. Abra um projeto, crie um novo formulário chamado Form1 e adicione um botão de comando denominado Button1 a ele.

  2. Copie o código a seguir para o formulário:

    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
    

    Você pode também passar um objeto como um argumento por referência e, dentro do procedimento, definir o argumento para um novo objeto.

Para passar uma referência de objeto a um procedimento em outro formulário

  1. Abra um projeto e crie um formulário denominado Form1.

  2. Adicione um segundo formulário chamado Form2.

  3. Coloque um controle de caixa de imagem em cada formulário.

  4. Nomeie a caixa de imagem no Form1 como PictureBox1.

  5. Nomeie a caixa de imagem no Form2 como PictureBox2.

  6. Atribua uma imagem para PictureBox2 clicando na propriedade Imagem na janela Propriedades.Qualquer imagem pequena serve; você pode encontrar arquivos .jpg e .bmp no seu diretório do Windows.

  7. Adicione o seguinte código ao 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. Adicione o seguinte código ao evento Form1_Click no 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. Execute o aplicativo e clique em Form1.A imagem do Form2 aparece na caixa de imagem no Form1.

    O procedimento de evento Form1_Click chama o procedimento GetPicture no Form2 e passa a caixa de imagem vazia para ele.O procedimento GetPicture no Form2 atribui a propriedade Imagem da caixa de imagem no Form2 à caixa de imagem vazia no Form1, e a imagem do Form2 é exibida no Form1.

Consulte também

Conceitos

Gerenciamento de Recursos

Outros recursos

Programação orientada a objetos no Visual Basic

Programando com Componentes