Mercator heeft een hele reeks aanpasbare schermen:
- MercatorUi.Forms.Sig.SigForm: informatiebestanden
- MercatorUi.Forms.Billing.BillingForm: documenten uit het commercieel beheer
- MercatorUi.Forms.Transfer.TransferForm: transfer van depot
- MercatorUi.Forms.Inventory.InventoryForm: inventaris
- MercatorUi.Forms.Booking.BookingForm: boekingen
- MercatorUi.Forms.Action.ActionForm: CRM-acties
Al deze schermen implementeren de interface MovableControls.Interfaces.IFormForMovableControls. Dit omvat het beschikbaar stellen van deze methodes, zodat je de controle kunt overnemen van de verschillende Movable Controls die zich in het scherm bevinden.
List<Control> FindMovableControlsByType(Type t);
List<Control> FindMovableControlsBySource(string source);
Indien een opzoeking anders dan op “type” of op “bron” moet worden uitgevoerd, is het eenvoudiger om de dictionary te gebruiken (waarvan de key het ID van de control is).
Dictionary<string, Control> MovableControls { get; }
Bijvoorbeeld bij het opzoeken van een expressie via de property Caption kunnen we volgende Linq syntax gebruiken.
var exp = billingForm.MovableControls.Values.OfType<MercatorUi.MovableControls.MovableExpression>().Where(p => p.Caption == "Test").FirstOrDefault();
Merk op dat exp null zal retourneren wanneer de MovableExpression niet gevonden wordt via de lambda-conditie.
Vergeet niet om “using System.Linq;” te vermelden bovenaan in de code.