none
Custom Controls untereinander verketten ... RRS feed

  • Frage

  • Ich versuche derzeit verschiedene Custom Controls zu erstellen.

    Alle diese Controls dienen dazu bestimmte Elemente einer Modelleisenbahn darzustellen, reps. zu steuern.

    Diese Controls hängen nun voneinander ab und sollen miteinander verkettet werden.

    Man stelle sich ein Gleis mit mehreren, auf einander folgenden Blockabschnitten vor.

    Bevor Block 2 (s)ein Signal auf Fahrt stellt, muss er prüfen, ob der folgende Block frei ist. Dazu muss er wissen, welches der folgende Block ist - wie bringe ich ihm das bei ? Und wie greife ich von Block 2 auf Blcok 1 zu ?

    Wie kann ich gezielt von Block 1 ein Event auf Block 2 auslösen (vielmehr abstrakt: Event auf dahinterliegendem Block auslösen )

     

    Montag, 28. Juni 2010 13:19

Antworten

  • Hallo,

    das sinnvollste wären hier Ereignisse .
    Die jeweils ausgelöst werden, wenn sich der Zustand von Deinen Steuerelementen ändert.
    So z. B. bei eine Weiche, wenn sie eine andere Fahrtrichtung freischaltet,
    oder ein Signal wenn es seinen Zustand wechselt.

    Der schwierigere Teil wäre allerdings das Implementieren der Verkettung.
    Bei Windows Forms sind die Steuerelemente in der Controls-Auflistung enthalten.
    Die sieht aber nur eine sequentielle Ordnung vor, womit man Weichen und andere Elemente,
    die mehr als einen Nachbarn haben können, nicht direkt abbilden kann.
    Dafür benötigst Du weitere Erweiterungen wie einen IExtendedProvider
    Der könnte das Überwachen von den verknüpften Steuerelementen übernehmen,
    und die jeweils erforderlichen AddHandler /RemoveHandler ausführen.

    Das ganze kann allerdings schon ziemlich komplex werden!!!
    Evtl. übst Du zunächst mit einfacheren Dingen!

    Gruß Elmar

    Montag, 28. Juni 2010 15:38
    Beantworter