Vous consultez une page technique concernant le logiciel de gestion Mercator. Celle-ci contient des informations spécifiques destinées aux professionnels de Mercator. Souhaitez-vous être redirigés vers des informations plus générales ?


   Ne plus poser cette question

Exemple d'utilisation de l'évènement Main.BaseFormCreating

0000002101     -      26/08/2017

L'évènement BaseFormCreating de l'objet MercatorUi.Globals.Main donne la possibilité de prendre la main sur toute fenêtre publique de Mercator Aruba. Cet évènement s'exécute lors de l'instanciation de la fenêtre.

Le code qui suit est un simple exemple montrant la mécanique de cet évènement. Il exploite un customizer Main pour installer l'évènement lors de l'ouverture d'un dossier (DossierOpen) et désinscrire ce même évènement lors de la fermeture du dossier (DossierClose). Lors de l'exécution, ce code montre simplement le nom de la classe de la form dans la fenêtre 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);
        }
    }
}

Il faut noter que cet évènement ne se déclenche pas quand la form est totalement initialisée ou affichée, mais pendant le processus de sa création. Il est donc préférable d'y inscrire un second évènement (Load, Shown ou FullInitialized) afin d'exécuter du code au moment adéquat du cycle d'instanciation - affichage de cet écran.

Exemples :