El objeto Forms y el Mundial 2006....

09/06/2006 - 20:54 por xavendano | Informe spam
Saludos...

Si hay alguien por allí que no esté viendo el partido de Alemania - Costa
Rica, o esperando el próximo y tiene la siguiente respuesta, mucho se lo
sabré agradecer.
;)

Anteriormente en VB6 existía el objeto Forms, que me permitía recorrer entre
él, todas los formas abiertas, algo así:
For Each Form In forms

Next


En VS2003.NET existe algo similar al objeto Forms que me permita recorrer
las ventanas "cargadas" en un formulario de tipo MDI por ejemplo...

Gracias a todos..
 

Leer las respuestas

#1 SoftJaén
10/06/2006 - 13:24 | Informe spam
"xavendano" preguntó:

En VS2003.NET existe algo similar al objeto Forms que me permita recorrer
las ventanas "cargadas" en un formulario de tipo MDI por ejemplo...




Hola:

En VB 2003 no lo hay. Puedes crearte tu propia colección de formularios,
mediante el uso de la clase «Hashtable», añadiendo el formulario a la
colección cuando se muestra, y quitándolo de la colección cuando se cierra.

Por ejemplo, en un módulo crearías una variable objeto pública que
referencie a la clase «Hashtable»:

Public ht As New Hashtable

Después, en el evento «Load» de cada formulario, añadirías el formulario a
la colección de la siguiente manera:

ht.Add(Me.Name, Me.Name)

Cuando se cierre el formulario, lo quitarías de la colección ejecutando la
siguiente línea:

ht.Remove(Me.Name)

Por último, cuando desees recorrer la colección de formularios, ejecutarías
el siguiente código:

Dim enumerador As IDictionaryEnumerator = ht.GetEnumerator()

While enumerador.MoveNext()
MessageBox.Show(enumerador.Value.ToString)
End While

Ya, con VB 2005, recorrerías la colección de formularios abiertos,
utilizando la propiedad «OpenForms», del objeto «My.Application»:

Dim frm As Form

For Each frm In My.Application.OpenForms
MessageBox.Show(frm.Text)
Next

Un saludo

Enrique Martínez
[MS MVP - VB]

Nota informativa: La información contenida en este mensaje, 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 recomendado o
sugerido en el presente mensaje.

Preguntas similares