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

Contrôler la fermeture de Mercator

0000002522     -      04/10/2015

Mercator permet de contrôler la fermeture de Mercator, et éventuellement de déclencher des opérations contenues dans un module.

Ce module exécute un code personnalisé au démarrage de Mercator. Ce code exploite un customizer de type Main, qui implémente l'interface MercatorUi.ICustomizers.IExec.

Zoom
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using MercatorApi;
using MercatorUi;
using System.Reflection;
using System.Windows.Forms;

namespace Main
{
    public class Customizer : MercatorUi.ICustomizers.IExec
    {
        public void Main(MercatorUi.ICustomizers.ExecAction Action)
        {
            if (Action == MercatorUi.ICustomizers.ExecAction.DossierOpen)
            {
                System.Windows.Forms.Form form = (System.Windows.Forms.Form)MercatorUi.Globals.StarterMainForm;
                form.FormClosing += new System.Windows.Forms.FormClosingEventHandler(formClosingEventHandler);
            }
            if (Action == MercatorUi.ICustomizers.ExecAction.DossierClose)
            {
                System.Windows.Forms.Form form = (System.Windows.Forms.Form)MercatorUi.Globals.StarterMainForm;
                form.FormClosing -= new System.Windows.Forms.FormClosingEventHandler(formClosingEventHandler);
            }
        }

        void formClosingEventHandler(object sender, System.Windows.Forms.FormClosingEventArgs e)
        {
            System.Windows.Forms.Form form = (System.Windows.Forms.Form)sender;
            if (Dialogs.AnswerYesNo("Voulez-vous vraiment fermer Mercator ?"))
                form.FormClosing -= new System.Windows.Forms.FormClosingEventHandler(formClosingEventHandler);
            else
                e.Cancel = true;
        }
    }
}