KontextMenu
-
Hallo,
ich habe ein Kontextmenü gebaut. Es sind mehrere Elemente enthalten, von denen jeweis immer nur eins aktiviert sein kann. (mit so einem Haken links dran)
Wie soll man das am besten machen?
Ich finde das hier recht umständlich:AntiAliasItem.Checked=true; AntiAliasGridFitItem.Checked=false; ClearTypeGridFitItem.Checked=false; SingleBitPerPixelItem.Checked=false; SingleBitPerPixelGridFitItem.Checked=false; DefaultItem.Checked=false;
Oder gibt es da keine bessere Lösung?
PS: Wie sind denn die Code-Tags für C#?
-
dein Kontextmenü hat eine Eigenschat namens MenuItems.
du kannst in einer schleife dann alle MenuItes des Kontextmenus erstmal auf unchecked setzen.
for (int i = 0; i < contextMenu1.MenuItems.Count; i++) { contextMenu1.MenuItems[i].Checked = false; }
und dann das Item was Click Ereignis produziert hat wird auf true gesetzt
((MenuItem)sender).Checked = true;
das ganze platierst du in Click Ereignissbehandlungsroutine.
dann muss du noch bei allen MenuItems Click Event an diese Routine binden...P.S. schreibe alles ausem Kopf, also sorry für eventuelle Fehler.
-
das Problem ist, dass das ein SubMenu ist. (nennt man das so?) Kann man dort die MenuItems auch irgendwie rausfiltern?
-
ist doch egal.
ein Submenu hat auch eine Auflistung von Untermenüs MenuItes. das wird nach dem gleichen Schema gehändelt.
-
Na klar! Natürlich, jetzt wird's mir klar. Danke für die Hilfe!