Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

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?

Geschrieben

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.

Geschrieben (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 von blubbla
Geschrieben

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?

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...