Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

TreeNode Tooltip

Empfohlene Antworten

Veröffentlicht

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?

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.

  • Autor

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

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?

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.