2Danke
ERLEDIGT
JA
JA
ANTWORTEN
3
3
ZUGRIFFE
1006
1006
EMPFEHLEN
-
Hi Leute,
sitz hier grad und schreibe mir ein dynamisches Menü. Sprich das komplette Menü wird mit Code (durch Schleifen usw.) erzeugt.
Nun möchte ich natürlich auch mein Click-Event haben.
Das funktioniert auch problemlos. Das einzige Problem welches ich habe, ist wie ich statt den Text, den MenuStrip-Namen auslesen kann.
Folgende Lösung funktioniert:
Mit vieeel Liebe formatiert den CodeCode :1 2 3 4 5 6 7 8 9 10 11 12
... [COLOR="MediumTurquoise"]ToolStripMenuItem[/COLOR] NewItem = [COLOR="Blue"]new[/COLOR] [COLOR="MediumTurquoise"]ToolStripMenuItem[/COLOR](); NewItem.Click += [COLOR="Blue"]new[/COLOR] [COLOR="MediumTurquoise"]EventHandler[/COLOR](NewItemClick); ... private void NewItemClick([COLOR="Blue"]object [/COLOR] sender, [COLOR="MediumTurquoise"]EventArgs[/COLOR] e) { [COLOR="Blue"]string[/COLOR] StripText = sender.ToString(); [COLOR="Green"]// <- Klar...[/COLOR] [COLOR="Blue"]string[/COLOR] StripName = sender.GetType().InvokeMember([COLOR="DarkRed"]"Name"[/COLOR], System.Reflection.[COLOR="MediumTurquoise"]BindingFlags[/COLOR].GetProperty, [COLOR="Blue"]null[/COLOR], sender, [COLOR="Blue"]null[/COLOR]).ToString(); [COLOR="Green"]// gehts nicht einfacher?[/COLOR] }
Damit könnte man arbeiten...
Die Frage ist eigentlich nur ob man da nicht irgendwie einfacher dran kommt?! Ist ja oft so, dass man viel zu kompliziert denkt
Danke schonmal - Ich freu mich auf Antworten
-
sender ist ja das ToolStripItem
Die hat eine Eigenschaft Tag dort könntest du dir benutzer definierte Daten halten die du für die Verarbeitung brauchst.
Also
1. sender casten nach ToolStripItem
2. Tag Eigenschaft auswerten
Ansonsten was genau hast du vor?
-
Du brauchst Code übrigens nicht selber formatieren. Verwende einfach den tag "csharp" anstatt "code".Code csharp:
1 2 3 4 5
private void NewItemClick(object sender, EventArgs e) { ToolStripItem item = (ToolStripItem)sender; string StripName = item.Name; }
Geändert von Shakie (28.04.10 um 19:38 Uhr)
-
ach klar! ich doof

sonst wär sender ja auch nicht vom Typ object...
Jetzt leuchtets mir ein
@ Spyke: Ich lese ein dynamisches Menü (mit Unterpunkten usw.) ein (durch XML) und möchte eben halt wenn ich das Click-Ereignis zuweise, dass ich auch die ID bzw. Name des Menüs bekomme. Man kann zwar auch mit dem Text arbeiten aber der darf durch aus mal gleich sein, deswegen doch lieber IDs.
@ Shakie: Ich dachte mir schon, dass tutorials einen Tag dafür hat, aber hab ihn oben halt nicht gefunden - beim nächsten mal weiß ich bescheid und spar mir die Arbeit
Vielen Dank euch beiden!
Ähnliche Themen
-
Tage vergleichen und Event anzeigen
Von ciberjoerg im Forum PHPAntworten: 14Letzter Beitrag: 02.11.09, 13:23 -
Suche Lösung für Probleme beim Aufstehen...
Von Hawkster im Forum SmalltalkAntworten: 30Letzter Beitrag: 28.10.09, 08:23 -
Kategorien nur anzeigen - wenn Artikel vorhanden
Von proloser im Forum PHPAntworten: 3Letzter Beitrag: 09.01.09, 18:48 -
wenn bild nicht vorhanden, anderes anzeigen.
Von ciberjoerg im Forum PHPAntworten: 3Letzter Beitrag: 11.12.08, 16:17 -
Kommentare anzeigen, wenn vorhanden
Von soa im Forum PHPAntworten: 1Letzter Beitrag: 13.07.05, 00:02





Zitieren
Login





