|
JLI Spieleprogrammierung
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
AFE-GmdG JLI MVP
Alter: 45 Anmeldedatum: 19.07.2002 Beiträge: 1374 Wohnort: Irgendwo im Universum... Medaillen: Keine
|
Verfasst am: 26.08.2007, 20:25 Titel: [C#, medium (denk ich)] ContextMenus |
|
|
Hallo.
Ich hab mal wieder ein Problem.
Ich habe ein TreeView, an dem ich zur Laufzeit TreeNodes anhänge, denen ich einen von mehreren ContextMenuStrips zuweise. (Die Verschiedenen ContextMenuStrips wurden im Designer erstellt)
Für die meissten ContextMenuStrips weiss ich sofort, für welchen Node er gilt - es gibt immer nur einen dieser Nodes.
Ein ContextMenuStrip jedoch wird mehreren Nodes zugewiesen. (Eine Auflistung von gleichartigen TreeNodes)
Ich fange nun das Ereignis "Click" des Contextmenus ab, um die gewünschte Aktion für den TreeNode auszuführen, für den das Contextmenu geöffnet wurde.
Das Problem: Ich weiss nicht, welches "Das TreeNode, für den das Contextmenu aufgerufen wurde" ist.
Ich habe bisher keine Möglichkeit gefunden, das gesuchte TreeNode zu ermitteln.
Eventuell hat ja jemand eine Idee, auf die ich noch nicht gekommen bin. _________________
CPP: | float o=0.075,h=1.5,T,r,O,l,I;int _,L=80,s=3200;main(){for(;s%L||
(h-=o,T= -2),s;4 -(r=O*O)<(l=I*I)|++ _==L&&write(1,(--s%L?_<(L)?--_
%6:6:7)+\"World! \\n\",1)&&(O=I=l=_=r=0,T+=o /2))O=I*2*O+h,I=l+T-r;} |
|
|
Nach oben |
|
|
Fallen JLI MVP
Alter: 40 Anmeldedatum: 08.03.2003 Beiträge: 2860 Wohnort: Münster Medaillen: 1 (mehr...)
|
Verfasst am: 27.08.2007, 17:47 Titel: |
|
|
Werden bei den Events denn keine Sender Objekte mitgeliefert? _________________ "I have a Core2Quad at 3.2GHz, 4GB of RAM at 1066 and an Nvidia 8800 GTS 512 on Vista64 and this game runs like ass whereas everything else I own runs like melted butter over a smokin' hot 18 year old catholic schoolgirl's arse." |
|
Nach oben |
|
|
AFE-GmdG JLI MVP
Alter: 45 Anmeldedatum: 19.07.2002 Beiträge: 1374 Wohnort: Irgendwo im Universum... Medaillen: Keine
|
Verfasst am: 28.08.2007, 17:08 Titel: |
|
|
Fallen hat Folgendes geschrieben: | Werden bei den Events denn keine Sender Objekte mitgeliefert? | Die Sender-Objekte sind die KontextMenuStrips...
Und leider enhalten diese (nach meinen Informationen) keinen Hinweis auf das TreeNode, von dem das Kontextmenu stammt - nichtmal einen Hinweis, dass es vom TreeView kommt hab ich gefunden - eine echte Lücke, denk ich...
Ich habe das Problem folgendermassen unprofessionell gelöst:
Immer wenn ich mit der rechten Maustaste auf ein TreeNode klicke, merke ich mir in einer Klassenvariable diesen Node. Das Ereignis NodeMouseKlick wird zum glück eher aufgerufen, als das Ereignis des Kontextmenus _________________
CPP: | float o=0.075,h=1.5,T,r,O,l,I;int _,L=80,s=3200;main(){for(;s%L||
(h-=o,T= -2),s;4 -(r=O*O)<(l=I*I)|++ _==L&&write(1,(--s%L?_<(L)?--_
%6:6:7)+\"World! \\n\",1)&&(O=I=l=_=r=0,T+=o /2))O=I*2*O+h,I=l+T-r;} |
|
|
Nach oben |
|
|
Chriss Senior JLI'ler
Anmeldedatum: 18.08.2004 Beiträge: 267
Medaillen: Keine
|
Verfasst am: 29.08.2007, 05:25 Titel: |
|
|
Hat das TreeNode nicht den Wert 'selectedItem'? |
|
Nach oben |
|
|
AFE-GmdG JLI MVP
Alter: 45 Anmeldedatum: 19.07.2002 Beiträge: 1374 Wohnort: Irgendwo im Universum... Medaillen: Keine
|
Verfasst am: 29.08.2007, 06:45 Titel: |
|
|
Chriss hat Folgendes geschrieben: | Hat das TreeNode nicht den Wert 'selectedItem'? |
Nicht der Node aber das View.
Nur leider ändert sich das Selected Item nicht, wenn man das Kontextmenu aufruft.
Dies kannst du ganz einfach im DateiExplorer nachvollziehen:
Baumansicht der Ordner öffnen, einen Folder Selektieren und von einem anderem das Kontextmenu aufrufen. Nachdem du das Kontextmenu abgebrochen hast (z.B. durch Klick ausserhalb des Explorerfensters) ist weiterhin der erste markierte Node Selekitert - nicht der, von dem man das Kontextmenu aufgerufen hat.
Sonst hätte ich auch diese Eigenschaft benutzt - ich wusste ja zumindest, dass dieses Kontextmenu nur in diesem TreeView auftauchen würde. _________________
CPP: | float o=0.075,h=1.5,T,r,O,l,I;int _,L=80,s=3200;main(){for(;s%L||
(h-=o,T= -2),s;4 -(r=O*O)<(l=I*I)|++ _==L&&write(1,(--s%L?_<(L)?--_
%6:6:7)+\"World! \\n\",1)&&(O=I=l=_=r=0,T+=o /2))O=I*2*O+h,I=l+T-r;} |
|
|
Nach oben |
|
|
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
Powered by phpBB © 2001, 2005 phpBB Group Deutsche Übersetzung von phpBB.de
|