Laden...

ToolStripMenuItem -> Enabled = false, wenn keine Elemente enthalten sind

Erstellt von Palladin007 vor 12 Jahren Letzter Beitrag vor 12 Jahren 1.030 Views
Thema geschlossen
Palladin007 Themenstarter:in
2.079 Beiträge seit 2012
vor 12 Jahren
ToolStripMenuItem -> Enabled = false, wenn keine Elemente enthalten sind

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.

771 Beiträge seit 2009
vor 12 Jahren

Hi,

benutze einfach das DropDownOpening (bzw. DropDownOpened) Ereignis des ToolStripMenu, um dort dann jeweils anhand der Bedingung den Enabled-Status zu setzen.

Palladin007 Themenstarter:in
2.079 Beiträge seit 2012
vor 12 Jahren

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.

F
10.010 Beiträge seit 2004
vor 12 Jahren

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.

Hinweis von herbivore vor 12 Jahren

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.

Thema geschlossen