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

Changer le libellé d'une zone dans la fenêtre de recherche articles

0000002399     -      05/09/2016

Le customizer montré ici explique comment changer le libellé d'une des zones de recherche dans la fenêtre de recherche articles. Le but est de remplacer "ID" par "Identifiant". Toute autre application pourra être facilement déduite de ce code.

La mécanique de ce code s'articule comme suit :

  • On utilise l'évènement Globals.Main.BaseFormCreating afin de prendre la main sur la création de la fenêtre de recherche qui est de type MercatorUi.Forms.Sig.SigDialogs.SigFindForm
    • Cet évènement est inscrit lors de l'action DossierOpen
    • Il est désinscrit lors de l'action DossierClose
  • Dans cet évènement, on va inscrire un évènement FullInitialized sur cette fenêtre. Ainsi, le code qui y sera placé, sera exécuté quand cette fenêtre sera totalement construite et affichée.
  • Dans ce code, on va simplement remplacer la propriété Text du label concerné.
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 += new MercatorUi.Main.BaseFormCreatingEventHandler(Main_BaseFormCreating);
            }
            else if (Action == MercatorUi.ICustomizers.ExecAction.DossierClose)
            {
                Globals.Main.BaseFormCreating -= new MercatorUi.Main.BaseFormCreatingEventHandler(Main_BaseFormCreating);
            }
        }

        void Main_BaseFormCreating(object sender, MercatorUi.Main.BaseFormCreatingEventArgs e)
        {
            if (e.Form is MercatorUi.Forms.Sig.SigDialogs.SigFindForm)
            {
                MercatorUi.Forms.Sig.SigDialogs.SigFindForm sigFindForm = (MercatorUi.Forms.Sig.SigDialogs.SigFindForm)e.Form;
                sigFindForm.FullInitialized += sigFindForm_FullInitialized;
            }
        }

        private void sigFindForm_FullInitialized(object sender, EventArgs e)
        {
            MercatorUi.Forms.Sig.SigDialogs.SigFindForm sigFindForm = (MercatorUi.Forms.Sig.SigDialogs.SigFindForm)sender;
            sigFindForm.FullInitialized -= sigFindForm_FullInitialized;
            if (sigFindForm.Sig.Module == MercatorUi.Sig._SigEnum.STOCK)
                sigFindForm.Label5.Text = "&Identifiant :";
        }

    }
}