Para crear una instancia de una clase, utilice la palabra clave New. A diferencia de los tipos de valor, como Integer y Double, los objetos son tipos de referencia, y debe crearlos de forma explícita antes de poder utilizarlos. Por ejemplo, observe las siguientes dos líneas de código:
Dim Button1 As System.Windows.Forms.Button
Dim Button2 As New System.Windows.Forms.Button()
La primera instrucción declara una variable de objeto que puede contener una referencia a un objeto de botón. Sin embargo, la variable Button1 contiene el valor Nothing hasta que le asigne un objeto de tipo Button. La segunda instrucción también define una variable que puede contener un objeto de botón, pero la palabra clave New crea un objeto de botón y lo asigna a la variable Button2.
Como los formularios y controles son en realidad clases, puede utilizar la palabra clave New para crear instancias nuevas de estos elementos, cuando sea necesario.
Para crear instancias nuevas de una clase con New
1. Abra un nuevo proyecto de formularios Windows Forms y coloque un botón de comando y otros controles diversos en un formulario denominado Form1.
2. Agregue el código siguiente al procedimiento de evento Click del botón de comando:
Dim f As New Form1
f.Show
3. Ejecute la aplicación, y haga clic en el botón de comando varias veces.
4. Coloque a un lado el formulario frontal. Como el formulario es una clase con una interfaz visible, puede ver las copias adicionales. Cada copia tiene los mismos controles, en la misma posición que los del formulario original en tiempo de diseño.
Puede utilizar la palabra clave New para crear objetos desde dentro de las clases. El procedimiento siguiente proporciona un ejemplo.
Para ver cómo New crea instancias de una clase
1. Abra un proyecto nuevo, y coloque un botón de comando en un formulario denominado Form1.
2. En el menú Proyecto, elija Agregar clase para agregar una clase al proyecto.
3. Ponga a la clase nueva el nombre de ShowMe.vb.
4. Agregue el procedimiento siguiente a ShowMe:
Public Class ShowMe
Sub ShowFrm()
Dim frmNew As Form1
frmNew = New Form1
frmNew.Show()
frmNew.WindowState = 1
End Sub
End Class
5. Agregue el código siguiente al evento Button1_Click del botón del formulario:
Protected Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button1.Click
Dim clsNew As New ShowMe()
clsNew.ShowFrm()
End Sub
6. Para utilizar este ejemplo, ejecute la aplicación y haga clic en el botón de comando varias veces. Aparecerá un icono minimizado de formulario en la barra de tareas cada vez que se cree una instancia nueva de la clase ShowMe. |