In de hieronder getoonde customizer wordt uitgelegd hoe u de tekst van een zoekgebied kan wijzigen in het artikelzoekvenster. Het doel is "ID" vervangen door "Identifiant". Alle andere toepassingen kunnen eenvoudig afgeleid worden uit deze code.
Het mechanisme van de code gaat als volgt:
- We gebruiken het event Globals.Main.BaseFormCreating om de controle over de creatie van het zoekvenster over te nemen dat van het type MercatorUi.Forms.Sig.SigDialogs.SigFindForm is
- Dit event wordt ingeschreven bij de actie DossierOpen
- Dit wordt uitgeschreven bij de actie DossierClose
- In dit event, zullen we inschrijven op het event FullInitialized in dit venster. De code die hierin zal worden geplaatst wordt uitgevoerd wanneer dit venster volledig opgebouw en weergegeven is.
- In de code gaan we eenvoudig de property Text wijzigen van het betrokken label.
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 :";
}
}
}