ContextMenüStrip einer BasisKlasse - einfach lesen :)



  • Es ist wieder Wochenende - und ich habe wieder einmal ein Problem:

    Ich habe eine Basis Klasse "Panelklasse" in welcher sich ein ContextMenüStrip mit 6 Einträgen befindet.

    Andere Klassen leite ich von dieser ab - wie bspw. die hddinfo Klasse. So weit so gut.

    An erster Stelle des Kontext Menüs steht "Schriftfarbe ändern" zur Auswahl - was nach Möglichkeit so bleiben sollte. Leider wird mir die ganze Sache nun zu komplex, da sich die betreffenden Controls (dessen Schriftfarbe ja geändert werden soll) unterscheiden. Mal ne TextBox, mal nen Label ...

    Mein Versuch war es die einzelnen Controls zu durchlaufen - und diese dann anzupassen. Nur habe ich auch Panels welche Labels beeinhalten - welche nicht geändert werden sollen. Also passt das alles gar nicht.

    Meine Frage ist jetzt, ob und wie es möglich ist - aus einer abgeleiteten Klasse ein ContextMenu zu beeinflussen - oder die Auswahl abzufangen und / oder umzulenken, so dass ich in den Panel Klassen selbst eine passende Funktion bereitstellen kann.

    Ich hoffe ihr versteht was ich meine.



  • 1. Möglichkeit: eine virtuelle Methode in "Panelklasse" erstellen, die von dem "Click"-Ereignishandler aufgerufen wird, und von den Kindern überschreiben wird.
    2. Möglichkeit: die Steuerelemente, dessen Schriftart nicht verändert werden soll explizit jene zuweisen, und sonst die Schriftart an nur einer (wenn möglich Root / Wurzel) Stelle verändern. Die Elternsteuerelementschriftart wird automatisch von den Kindern übernommen(ebenseo wie Back / Foreground & Cursor)



  • Also, respekt. Das ganze um 4Uhr morgens. Und ich dachte ich wäre nen Frühaufsteher. Dein Lösungsvorschlag - die Funktion als virtuel zu deklarieren habe ich bereits hinter mir - jedoch habe ich diese in den abgeleiteten Klassen selbst erstellt - was ja nicht gehen konnte.

    Ich versuchs gleich mal.



  • Läuft super. Wieder was gelernt. THX



  • shaun1981 schrieb:

    Frühaufsteher

    Späteinschläfer :p

    shaun1981 schrieb:

    Läuft super.

    np


Anmelden zum Antworten