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
Abra um projeto, crie um novo formulário chamado Form1 e adicione um botão de comando denominado Button1 a ele.
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
Abra um projeto e crie um formulário denominado Form1.
Adicione um segundo formulário chamado Form2.
Coloque um controle de caixa de imagem em cada formulário.
Nomeie a caixa de imagem no Form1 como PictureBox1.
Nomeie a caixa de imagem no Form2 como PictureBox2.
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.
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
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
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.