blubbla Geschrieben 8. Dezember 2009 Geschrieben 8. Dezember 2009 Hallo, ich würde gerne folgendes realisieren: In einer Treeview soll zu jedem Knoten ein Tooltip erscheinen, wenn man diesen Knoten selektiert und dann die rechte Maustaste gedrückt hält. Wenn die Maustaste losgelassen wird, soll der Tooltip wieder verschwinden. So nun das Problem: Der (die/das..) Tooltip soll im Ballon-Style erscheinen, und die "spitze" des Ballons soll genau auf dem Knoten zeigen. Ich poste mal meinen bisherigen Code, es handelt sich aber nur um ein paar schnell runtergeschriebene Zeilen: this.toolTipTreeView.InitialDelay = 0; this.toolTipTreeView.IsBalloon = true; private void treeView_MouseDown(object sender, MouseEventArgs e) { ... if (e.Button == MouseButtons.Right) { this.toolTipTreeView.ToolTipIcon = ToolTipIcon.Info; this.toolTipTreeView.ToolTipTitle = "Dateien:"; this.toolTipTreeView.Show(tmp, this.treeView, e.X, e.Y); } } Die Überprüfung, ob überhaupt ein Knoten selektiert ist usw. hab ich weggelassen, genauso wie die Behandlung was passiert wenn der linke Mauszeiger gedrückt wurde usw. Das seltsame: Bei meinem Code geht eigentlich alles wunderbar, aber erst nach dem 1. rechten Mausklick. Beim ersten Rechtsklick erscheint der Tooltip noch an einer ganz anderen Stelle im Treeview, ab dem 2. funktioniert es genau so wie ich es haben will (jeweils auf der e.X und e.Y Position). Weiss jemand woran es liegt? Zitieren
Argbeil Geschrieben 9. Dezember 2009 Geschrieben 9. Dezember 2009 Die gelieferten Maus-Koordinaten - beziehen die sich auf ein Koordinatensystem innerhalb des Treeviews oder innerhalb des Forms? Und die Koordinaten innerhalb der Show Methode, Form oder TreeView? Da wird der Fehler liegen. Zitieren
blubbla Geschrieben 9. Dezember 2009 Autor Geschrieben 9. Dezember 2009 (bearbeitet) Das (für mich) seltsame ist halt: Beim ersten Rechtsklick sind beim debuggen die Koordinaten von e z.B. 10,10 -> der Tooltip wird irgendwo ganz unten angezeigt. Beim zweiten Rechtsklick auf den selben Punkt sind die Koordinaten wieder 10,10 -> der Tooltip ist aber nun an einer anderen (der richtigen) Stelle. Ich bekomme also bei 2 identischen Punkten, die ich in der Show()-Methode angebe, 2 verschiedenen Darstellungen des Tooltips. //Edit: Wenn ich in der tooltip.Show()-Methode nicht e.X/e.Y nehme, sondern feste Werte, z.B. 10,10 trittt das gleich Verhalten auf: Beim ersten Rechtsklick liegt die Toolbox noch wo ganz anders, ab dem 2. Rechtsklick liegt sie bei 10,10. Bearbeitet 9. Dezember 2009 von blubbla Zitieren
Argbeil Geschrieben 9. Dezember 2009 Geschrieben 9. Dezember 2009 Ah, das mit den festen Werten ist interessant. Sieht nach einem Bug aus, kann ich mir aber andererseits auch schlecht vorstellen bei so einer Standard-Komponente. Hast du mal gegoogelt ob jemand ähnliche Probleme hat? Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.