Laden...

ToolTip ausblenden wenn UserControl verlassen wird

Erstellt von inflames2k vor 6 Jahren Letzter Beitrag vor 6 Jahren 1.343 Views
inflames2k Themenstarter:in
2.298 Beiträge seit 2010
vor 6 Jahren
ToolTip ausblenden wenn UserControl verlassen wird

Hallo,

ich habe eine reihe von UserControls, die in einem TabControl dargestellt werden. Mittels der ToolTip-Klasse zeige ich auf dein einzelnen Controls in gewissen Fällen ToolTips an.

Wird nun der Tab gewechselt oder nur schnell genug verlassen, bleibt der Tooltip bestehen.

Ich habe bereits versucht bei Mouse-Leave der ListView der das ToolTip zugeordnet ist, ein Hide() auszuführen. - Funktioniert nicht.
Der nächste Ansatz war im Visible-Changed des UserControls Hide() zu setzen. - Auch das funktionierte nicht bzw. erst, wenn das UserControl durch Tabwechsel wieder sichtbar wurde.

Angezeigt wird das ToolTip im MouseMove der ListView:


        private void lvObservationValues_MouseMove(object sender, MouseEventArgs e)
        {
            if(tip == null)
            {
                tip = new ToolTip();
            }
            try
            {
                Point clientPoint = new Point(e.X, e.Y);
                ListViewItem item = this.lvObservationValues.GetItemAt(clientPoint.X, clientPoint.Y);

                if (item != null && !String.IsNullOrEmpty(item.ToolTipText))
                {
                    if (!tip.Active || lastTooltip != item.ToolTipText)
                    {
                        tip.Show(item.ToolTipText, this.lvObservationValues, clientPoint.X, clientPoint.Y);
                        lastTooltip = item.ToolTipText;
                    }
                }
                else
                {
                    tip.Hide(this);
                    lastTooltip = string.Empty;
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
        }

Wissen ist nicht alles. Man muss es auch anwenden können.

PS Fritz!Box API - TR-064 Schnittstelle | PS EventLogManager |

inflames2k Themenstarter:in
2.298 Beiträge seit 2010
vor 6 Jahren

Wir haben uns nun temporär damit beholfen, dass wir eine Anzeige-Zeitspanne setzen.
Damit funktioniert es erst mal (nicht perfekt, da der ToolTip bei wechsel noch erhalten bleibt, aber nicht mehr ewig).

Wissen ist nicht alles. Man muss es auch anwenden können.

PS Fritz!Box API - TR-064 Schnittstelle | PS EventLogManager |