Este conteúdo foi traduzido automaticamente e pode ser editado pelos membros da comunidade. Para melhorar a qualidade da tradução, clique no link Editar associado à frase que deseja modificar.
Visual Basic Programming Guide How to: Pass Objects to Procedures
Visual Basic allows you to pass objects as arguments to procedures in the same way that you pass other types of arguments. The following procedures demonstrate how. To pass a new instance of a form to a procedure
Open a project, create a new form named Form1, and add a command button named Button1 to it.
Copy the following code into the 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
You can also pass an object as an argument by reference and then, inside the procedure, set the argument to a new object.
To pass an object reference to a procedure on another form
Open a project and create a form named Form1.
Add a second form named Form2.
Place a picture box control on each form.
Name the picture box on Form1 PictureBox1.
Name the picture box on Form2 PictureBox2.
Assign a picture to PictureBox2 by clicking the Image property in the Properties window. Any small images will work; you can find .bmp and .jpg files in your Windows directory.
Add the following code to 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
Add the following code to the Form1_Click event on 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
Run the application and click Form1. The picture from Form2 appears in the picture box on Form1. The Form1_Click event procedure calls the GetPicture procedure in Form2, and passes the empty picture box to it. The GetPicture procedure in Form2 assigns the Image property of the picture box on Form2 to the empty picture box on Form1, and the image from Form2 is displayed on Form1.
 See Also
|
Guia de programação Visual Basic 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.
 Consulte também
|