Formularios. Acceder a controles de otro formulario

Creado por David Miralpeix, Modificado el Fri, 16 Feb 2024 a las 12:25 PM por David Miralpeix

Tomar control de un formulario que ya está abierto en la aplicación.


La función gcn.Obj.Objetos.dameforms / gCn.Obj.OnDameForms recibe el parámetro de la librería y retorna los formularios de la aplicación.
Con una sentencia For each podemos acceder al formulario y consultar contenido o modificarlo.

 

Código VB6:

Sub Main()
         'Cambiar el caption del formulario principal
         frmAux.Descargar 'ATENCIÓN: DEBE ESTAR SIEMPRE QUE NO SE MUESTRE EL FORMULARIO.

	For Each lobj In gcn.obj.objetos.dameforms("AhoraObjLinks")
		If TypeName(lObj) = "frmColMultiple_IE" Then
			lObj.caption = "caption que quieras"
			Exit For
		End If
	 Next
End Sub


Código C#:

using AhoraCore;
using AhoraOCX;

namespace AhoraScriptsVacia
{
    public class Script_21 : AhoraOCX.AhoraBaseScript
    {
        public void Main()
        {
            // Cambiar el Text del formulario de Clientes (si está abierto)
            IVB6Collection<IForm> lForms = gCn.Obj.OnDameForms("AhoraCl");
            if (lForms is not null)
            {
                foreach (IForm lForm in lForms)
                {
                    if (lForm.Name == "frmClientes")
                    {
                        lForm.Text = "Caption que quieras";
                        break;
                    }
                }
                lForms = null;
            }
        }
    }
}

¿Le ha sido útil este artículo?

¡Qué bien!

Gracias por sus comentarios

¡Sentimos mucho no haber sido de ayuda!

Gracias por sus comentarios

¡Háganos saber cómo podemos mejorar este artículo!

Seleccione al menos una de las razones
Se requiere la verificación del CAPTCHA.

Sus comentarios se han enviado

Agradecemos su esfuerzo e intentaremos corregir el artículo