Visual Basic .NET le permite pasar objetos como argumentos a procedimientos del mismo modo en que se pasan otros tipos de argumentos. Los procedimientos siguientes le mostrarán cómo hacerlo.
Para pasar una instancia nueva de un formulario a un procedimiento
1. Abra un proyecto, cree un formulario nuevo y agréguele un botón de comando denominado Button1.
2. Copie el código siguiente en el evento Button1_click:
Protected Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs)
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
También puede pasar un objeto como un argumento por referencia y posteriormente, en el procedimiento, establecer el argumento a un objeto nuevo.
Para pasar una referencia de objeto a un procedimiento de otro formulario
1. Abra un proyecto y cree un formulario denominado Form1.
2. Agregue un segundo formulario denominado Form2.
3. Coloque un control de cuadro de imagen en cada formulario.
4. Ponga al cuadro de imagen del formulario 1 el nombre de PictureBox1.
5. Ponga al cuadro de imagen del formulario 2 el nombre de PictureBox2.
6. Asigne una imagen a PictureBox2 haciendo clic en la propiedad Image de la ventana Propiedades. Funcionará cualquier imagen pequeña; encontrará archivos .bmp y .jpg en el directorio de Windows.
7. Agregue el código siguiente 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. Agregue el código siguiente al evento Form1_Click en 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. Ejecute la aplicación y haga clic en Form1. La imagen de Form2 aparece en el cuadro de imagen de Form1.
El procedimiento de evento Form1_Click llama al procedimiento GetPicture de Form2 y le pasa el cuadro de imagen vacío. El procedimiento GetPicture de Form2 asigna la propiedad Image del cuadro de imagen de Form2 al cuadro de imagen vacío de Form1, y la imagen de Form2 se muestra en Form1. |