Gebruiksvoorbeeld van het evenement Main.BaseFormCreating

0000002101     -      26-08-2017

Het event BaseFormCreating van het object MercatorUi.Globals.Main biedt de mogelijkheid om controle te krijgen over het volledige publieke venster van Mercator Aruba. Dit event wordt uitgevoerd bij het oproepen van het venster.

De navolgende code is een eenvoudig voorbeeld waaruit blijkt hoe dit event werkt. Het maakt gebruik van een Main-customizer om het event te installeren bij het openen van een dossier (DossierOpen) en datzelfde event uit te schrijven bij het sluiten van het dossier (DossierClose). Tijdens de uitvoering vermeldt de code gewoon de naam van de formklasse in het venster WaitWindow.

Zoom
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using MercatorApi;
using MercatorUi;

namespace Main
{
    public class Customizer : MercatorUi.ICustomizers.IExec
    {
        public void Main(MercatorUi.ICustomizers.ExecAction Action)
        {
            if (Action == MercatorUi.ICustomizers.ExecAction.DossierOpen)
            {
                Globals.Main.BaseFormCreating += Main_BaseFormCreating;
            }
            else if (Action == MercatorUi.ICustomizers.ExecAction.DossierClose)
            {
                Globals.Main.BaseFormCreating -= Main_BaseFormCreating;
            }
        }

        void Main_BaseFormCreating(object sender, MercatorUi.Main.BaseFormCreatingEventArgs e)
        {
            MercatorUi.Wait.WaitStatic.WaitWindow(e.Form.GetType().ToString(), 2);
        }
    }
}

We moeten opmerken dat dit event niet geactiveerd wordt wanneer het form totaal geïnitialiseerd of weergegeven is, maar tijdens het proces van zijn creatie. Het is dus verkieslijk om er een tweede event (Load, Shown of FullInitialized) in te schrijven, zodat de code wordt uitgevoerd op het exacte ogenblik van de oproep-weergavecyclus van dit scherm.

Bijvoorbelden :