View Controls im Script erzeugen und anzeigen

scripting
viewcontrol

#1

Die View Controls können auf verschiedene Arten im Script erzeugt und angezeigt werden.

Aufruf über Id

Ein vereinfachte Verwendung ist der Aufruf über die Id.
Hierbei muss man sich nicht um die Erzeugung des eigentlichen View Controls kümmern, hat aber auch keinen Zugriff auf dessen Eigenschaften.

Aufruf Beschreibung
ML.ShowViewControlInTab("id") Zeigt ein View Control mit der passenden ID in einem Reiter an
ML.ShowViewControlAsDialog("id") Zeigt ein View Control in einem Fenster an
ML.ShowViewControlAsDialog("id", isModal) Zeigt ein View Control in einem Fenster an, wobei explizit bestimmt wird, ob das Fenster modal ist

Aufruf mit manueller Erzeugung des View Controls

Sehr häufig muss man einem View Control das man in einem Fenster anzeigt, bestimmte Werte übergeben. In diesem Fall muss man das View Control selbst erzeugen.

Erzeugen des View Controls

Erzeugt wird das View Control wie jedes reguläre Control durch Aufruf von new in Kombination mit dem Klassennamen.

Beispiel: var co = new MeinViewControl();

Anzeigen eines View Controls

Aufruf Beschreibung
ML.ShowViewControlInTab(co) Zeigt ein View Control co in einem Reiter an
ML.ShowViewControlInTab(co, caption, img, canClose) Zeigt ein View Control co in einem Reiter an, wobei explizit ein Titel caption und ein Bild img übergeben werden können. canClose bestimmt, ob der Reiter vom Anwender geschlossen werden kann.
ML.ShowViewControlAsDialog(co) Zeigt ein View Control co in einem Fenster an
ML.ShowViewControlAsDialog(co, caption, isModal) Zeigt ein View Control coin einem Fenster an, wobei explizit der Titel übergeben und bestimmt wird, ob das Fenster modal ist

Schließen eines Fensters

Mit CloseDialog() kann das umgebende Fenster von einem Script innerhalb des View Controls geschlossen werden.

Beispiel: Sicherheitsabfrage

Sicherheitsabfrage ist ein View Control das einen Abfragetext anzeigt.
Der Anwender beantwortet die Frage durch Klick auf einen entsprechenden Button (Ja/Nein).
Nur wenn Ja ausgewählt wurde, soll eine Aktion ausgeführt werden.

image

Aufruf

var sa = new Sicherheitsabfrage();
sa.AbfrageText = "Möchten Sie XXX löschen?";
ML.ShowViewControlAsDialog(sa);
if (sa.Result)
{
    // hier löschen ...
    MessageBox.Show("Löschen ausgewählt");
}

Im View Control wurden die zusätzlichen Eigenschaften AbfrageText und Result hierbei wie folgt implementiert:

public string AbfrageText
{
    get { return lbAbfrageText.Text; }
    set { lbAbfrageText.Text = value; }
}
public bool Result { get; set; }

In den Klick-Ereignissen der beiden Buttons wurde jeweils das entsprechende Result gesetzt und das Fenster geschlossen.

Result = true;   // false
CloseDialog();

View Controls