JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.php?sid=bea408ab31f9ebdad447dccf972c8b70Medaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

[C#, medium (denk ich)] ContextMenus

 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
AFE-GmdG
JLI MVP
JLI MVP


Alter: 45
Anmeldedatum: 19.07.2002
Beiträge: 1374
Wohnort: Irgendwo im Universum...
Medaillen: Keine

BeitragVerfasst am: 26.08.2007, 20:25    Titel: [C#, medium (denk ich)] ContextMenus Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Fallen
JLI MVP
JLI MVP


Alter: 40
Anmeldedatum: 08.03.2003
Beiträge: 2860
Wohnort: Münster
Medaillen: 1 (mehr...)

BeitragVerfasst am: 27.08.2007, 17:47    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
AFE-GmdG
JLI MVP
JLI MVP


Alter: 45
Anmeldedatum: 19.07.2002
Beiträge: 1374
Wohnort: Irgendwo im Universum...
Medaillen: Keine

BeitragVerfasst am: 28.08.2007, 17:08    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Chriss
Senior JLI'ler



Anmeldedatum: 18.08.2004
Beiträge: 267

Medaillen: Keine

BeitragVerfasst am: 29.08.2007, 05:25    Titel: Antworten mit Zitat

Hat das TreeNode nicht den Wert 'selectedItem'?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
AFE-GmdG
JLI MVP
JLI MVP


Alter: 45
Anmeldedatum: 19.07.2002
Beiträge: 1374
Wohnort: Irgendwo im Universum...
Medaillen: Keine

BeitragVerfasst am: 29.08.2007, 06:45    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung Alle Zeiten sind GMT
Seite 1 von 1

 
Gehe zu:  
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

Impressum