Conocer el número de formularios existentes en el proyecto |
Por Enrique Martínez Montejo |
Última revisión: 28/02/2010 |
A partir de la versión 2005 de Visual Basic, es fácil conocer el número de formularios que actualmente se encuentran abiertos. Simplemente basta con llamar a la propiedad Count de la propiedad OpenForms del objeto Application:
Dim n
As Integer =
Application.OpenForms.Count()
MessageBox.Show(CStr(n))
Pero si lo que deseamos es conocer el número de clases que heredan de la clase System.Windows.Forms.Form, es decir, todos los formularios disponibles en nuestro proyecto, no es tan fácil pero tampoco demasiado complicado de averiguar, tal y como muestra la siguiente función:
Private Function FormsCount()
As Integer
' Obtenemos una referencia al ensamblado
actual
'
Dim asm
As
Reflection.Assembly = Reflection.Assembly.GetExecutingAssembly()
Dim n
As
Integer
For Each ty
As Type In asm.GetTypes()
' Obtenemos el
nombre del tipo del que hereda
' directamente el objeto System.Type
actual.
'
If
(ty.BaseType.Name.Equals("Form"))
Then n += 1
Next
Return n
End Function
Ahora, sólo basta con llamar a la función de la siguiente manera:
Dim n
As
Integer = FormsCount()
MessageBox.Show("Número de formularios: "
& CStr(n))
Otros enlaces de interés:
Índice de la colección de ejemplos de las clases del marco de trabajo de .NET
Enrique Martínez Montejo - 2010
NOTA: La información contenida en este artículo, así como el código fuente incluido en el mismo, se proporciona COMO ESTÁ, sin garantías de ninguna clase, y no otorga derecho alguno. Usted asume cualquier riesgo al poner en práctica, utilizar o ejecutar lo explicado, recomendado o sugerido en el presente artículo.
NOTE: The information contained in this article and source code included therein, is provided AS IS without warranty of any kind, and confers no rights. You assume any risk to implement, use or run it explained, recommended or suggested in this article.