|
| Autor |
Nachricht |
nacrainter18 Newbie

Anmeldedatum: 04.09.2010 Beiträge: 2
|
Bei MouseUp nachfolgendes BeforeLabelEdit-Event erkennen
Verfasst am: 04.09.2010, 10:36 |
|
|
Hallo,
als Neuling habe ich gleich eine konkrete Frage: in einer TreeView will ich unterschiedliche Aktionen auslösen, je nachdem welcher Teil des Knotens angeklickt wird:
* Wird der Text angeklickt, soll in den Edit-Mode gewechselt werden (Standard-Funktion)
* Wird das Icon angeklickt, erfolgt eine andere Aktion (Dateisuche nach dem angeklickten Stichwort)
Wie erkennen, dass der Text angeklickt wird? Das einzige, was mir einfällt, ist ein Handler auf das Event BeforeLabelEdit. Dabei habe ich das Problem, dass dieses Event zeitlich nach dem MouseUp-Event liegt, mit dem ich die Dateisuche starte. D.h. im MouseUp-Event weiß ich noch nicht, ob der User die Dateisuche oder das Editieren des TreeNodes angefordert hat.
Momentan behelfe ich mir damit, dass ich im Handler von BeforeLabelEdit die Suchanzeige wieder lösche. D.h. die Suchanzeige wird ca. 1 Sekunde lang aufgebaut, flackert kurz auf, dann geht der TreeNode in den Edit-Modus über. Funktioniert, ist aber unbefriedigend.
Kann mir jemand mit einem alternativen Ansatz helfen? Dies könnte sein, dass ich im MouseUp-Event-Handler
* erkenne, ob noch ein BeforeLabelEdit-Event zur Bearbeitung ansteht
* feststelle, wo im TreeNode hingeklickt wurde (auf das Icon oder auf den Text)
* ...
Danke schon mal im Voraus!
Mark |
|
| |
|
 |
nacrainter18 Newbie

Anmeldedatum: 04.09.2010 Beiträge: 2
|
Verfasst am: 04.09.2010, 11:37 |
|
|
Hallo,
hab's mittlerweile selbst gelöst:
Der Code
| Code: | Dim temp As Point = Me.tv_Keywords.PointToClient(Cursor.Position)
Dim tn As TreeNode = Me.tv_Keywords.GetNodeAt(temp)
If Not tn Is Nothing AndAlso temp.X < tn.Bounds.Left Then ... |
fragt ab, ob der Klick links vom Textbereich des TreeNodes (nur dieser wird von TreeNode.Bounds beschrieben erfolgte. |
|
| |
|
 |
|
|