Moin
Ich brauche eine Möglichkeit, wie man ein ToolStripMenuItem überwachen lassen kann.
Wenn eine bestimmte Bedingung nicht erfüllt wird dann bleibt es inaktiv, wenn sie erfüllt wird, wird das Element aktiviert.
Das soll während der Laufzeit immer überprüft werden.
Ich kann es natürlich auch so machen:
Dort, wo die Bedingung erfüllt, oder nicht erfüllt wird (z.B. Enhalten von weiteren Items), wird dann immer bei jeder Änderung Enabled auf true oder false gesetzt.
Aber gibt es nicht eine elegantere Lösung, die die vorher angegebene Bedingung auf Laufzeit überprüft?
Gruß
NuGet Packages im Code auslesen
lock Alternative für async/await
Beim CleanCode zählen nicht die Regeln, sondern dass wir uns mit diesen Regeln befassen, selbst wenn wir sie nicht befolgen - hoffentlich nach reiflichen Überlegungen.
Hi,
benutze einfach das DropDownOpening (bzw. DropDownOpened) Ereignis des ToolStripMenu, um dort dann jeweils anhand der Bedingung den Enabled-Status zu setzen.
Naja, so habe ich das bisher gemacht.
Ich hatte nur gehofft, darauf verzichten zu können, denn dann muss ich diese Änderung überall einbauen, an der etwas geändert wird.
Deshalb frage ich, ob es eine Laufzeitüberprüfung gibt (ungefähr so wie ein Event), die eine bestimmte Bedingung überprüft und entsprechend handelt.
Ich will halt, dass ein Element nicht aktiv ist, wenn es keine Items hat.
Da man diese Items aber an vielen verschiedneen STellen im Programm ändern kann, wird das umständlich.
NuGet Packages im Code auslesen
lock Alternative für async/await
Beim CleanCode zählen nicht die Regeln, sondern dass wir uns mit diesen Regeln befassen, selbst wenn wir sie nicht befolgen - hoffentlich nach reiflichen Überlegungen.
Du hast nicht wirklich verstanden was cat dir gesagt hat.
Du sollst beim zu überwachenden ToolStripMenuItem das Event abonieren.
Das musst du nur an einer stelle machen und nicht überall.
Die Antwort auf diesen Thread, so wie auch auf die beiden anderen Threads (ToolStriptDropDownButton -> Verhindern, dass nach Interaktion das Fenster geschlossen wird, ToolStriptDropDownButton -> Alle Elemente ausgeben lassen) hättest du alle leicht selbst über die MSDN Doku oder die Forensuche herausfinden können. Bitte beachte [Hinweis] Wie poste ich richtig? Punkt 1.1.