Cursos subvencionados para trabajadores
Realiza el curso gratis a través de tu empresa.
Cursos SubvencionadosEl siguiente código rellena un control List Box (Lista1) con los títulos de todos los formularios del proyecto:
Dim f As Form
For Each f In Forms
Lista1.AddItem f.Caption
Next
Inscríbete ahora y accede a 3 unidades gratis
Evalua el curso de VB II y accede a las 3 unidades gratis con acceso completo al aula virtual donde podrás disfrutar de la inestimable ayuda del tutor y una gran variedad de recursos como videotutoriales, ejercicios resueltos, foros, enlaces, bibliografía, etc....
La colección Forms sólo contiene los formularios que han sido cargados. El formulario principal de un programa se carga cuando arranca el programa. Otros formularios se cargan o bien explícitamente con la sentencia Load, o cuando se referencian en el código. Este ejemplo mueve un poco arriba y a la izquierda todos los formularios de un programa:
Dim f As Form
For Each f In Forms
f.Top = f.Top * 0.8
f.Left = f.Left * 0.8
Next
También podemos recorrer la colección Forms utilizando los índices de sus miembros, como se muestra a continuación:
Dim i As Integer
For i = 0 to Forms.Count-1
Forms(i).Top=Forms(i).Top * 0. 8
Forms(i).Left=Forms(i).Left * 0.8
Next i
Este enfoque, sin embargo, no tiene ventajas sobre la sentencia For Each, y, en realidad, la sintaxis es un poco complicada. Como el orden de los formularios de la colección es mantenido por Visual Basic, no deberemos escribir código que dependa de los formularios que estén en cualquier orden especificado en la colección Forms.
Inscríbete ahora y accede a 3 unidades gratis
Evalua el curso de VB II y accede a las 3 unidades gratis con acceso completo al aula virtual donde podrás disfrutar de la inestimable ayuda del tutor y una gran variedad de recursos como videotutoriales, ejercicios resueltos, foros, enlaces, bibliografía, etc....
Podemos recorrer la colección Controls de una forma similar. Debemos especificar la colección Controls de qué formulario nos estamos refiriendo; si no, Visual Basic supone que se trata del formulario actual (el que contiene el código). He aquí el código que cambia todos los controles del formulario actual de visible a invisible, y viceversa, cuando vuelve a ejecutarse:
Dim c As Control
For Each c In Controls
c.Visible = Not c.Visible
Next
Inscríbete ahora y accede a 3 unidades gratis
Evalua el curso de VB II y accede a las 3 unidades gratis con acceso completo al aula virtual donde podrás disfrutar de la inestimable ayuda del tutor y una gran variedad de recursos como videotutoriales, ejercicios resueltos, foros, enlaces, bibliografía, etc....
Podemos combinar el recorrido por la colección Controls con el recorrido por la colección Forms para acceder a todos los controles del proyecto:
Dim f As Form
Dim c As Control
For Each f In Forms
For Each c In f.Controls
'Hacer aquí algo con c.
Next
Next
Inscríbete ahora y accede a 3 unidades gratis
Evalua el curso de VB II y accede a las 3 unidades gratis con acceso completo al aula virtual donde podrás disfrutar de la inestimable ayuda del tutor y una gran variedad de recursos como videotutoriales, ejercicios resueltos, foros, enlaces, bibliografía, etc....
Recorrer los controles puede ser más útil cuando usamos la palabra reservada TypeOf. Esta palabra reservada permite determinar el tipo de un control: Caja de Texto, Botón de Comando, etc. Luego, podemos aplicar código sólo a determinados controles. Por ejemplo, el siguiente código borra el contenido de todos los controles Text Box de un formulario:
Dim c As Control
For Each c in Controls
If TypeOf c Is TextBox Then c.Text = ""
Next
Del mismo modo, este código inhabilita todos los Botones de Comando de todos los formularios:
Dim f As Form
Dim c As Control
For Each f In Forms
For Each c In f.Controls
If TypeOf c Is CommandButton Then c.Enabled = False
Next
Next
Inscríbete ahora y accede a 3 unidades gratis
Evalua el curso de VB II y accede a las 3 unidades gratis con acceso completo al aula virtual donde podrás disfrutar de la inestimable ayuda del tutor y una gran variedad de recursos como videotutoriales, ejercicios resueltos, foros, enlaces, bibliografía, etc....
Crear un proyecto nuevo al que insertaremos un formulario MDI y un formulario normal, de forma que junto con el formulario inicial, tengamos tres formularios. En el menú Proyecto / Propiedades del proyecto, elegiremos como objeto inicial el formulario MDI. Poniendo la propiedad MDIChild a True en los formularios SDI los declararemos "hijos" del MDI. En uno de los formularios insertamos 5 TextBox, y 5 botones de comando, en el otro insertamos 5 TextBox. El objetivo es manipular los controles insertados en todos los formularios mediante el uso de las colecciones internas
En el formulario MDI estableceremos el siguiente menú:

El código para controlar las opciones del menú Formularios será:

Observar que tenemos controles en ambos formularios y queremos manipularlos desde el MDI sin hacer referencia a que formulario en concreto pertenecen. Las dos opciones incluidas en el menú Acciones las podemos programar de la siguiente forma:

Inscríbete ahora y accede a 3 unidades gratis
Evalua el curso de VB II y accede a las 3 unidades gratis con acceso completo al aula virtual donde podrás disfrutar de la inestimable ayuda del tutor y una gran variedad de recursos como videotutoriales, ejercicios resueltos, foros, enlaces, bibliografía, etc....
Copyright 2008© ADRInfor S.L. Logroño | Tel: 941250116 Fax: 941236805 | Email | Politica de Privacidad | Aviso Legal