示例#1
0
        /// <summary>The hover tracker_ tracking stoped.</summary>
        /// <param name="sender">The sender.</param>
        /// <param name="e">The e value.</param>
        private void HoverTrackerTrackingStoped(object sender, HoverTracker.TrackerEventArgs e)
        {
            // System.Console.WriteLine("HoverTracker_TrackingStoped...");
            if (null != e.Popup)
            {
                e.Popup.Dispose();
            }

            // hack for TabPage to show a tip window for other tab when user move the mouse over control header
            // It is needed because TabControl send MouseHover event only once on entering headers area,
            // it doesn't send events for each tab
            if (e.Control is TabPage)
            {
                var mousePos = Cursor.Position;
                var tabCtrl  = (e.Control as TabPage).Parent as TabControl;
                if (null != tabCtrl)
                {
                    // TabPage parent could be null in case controls are disposed already
                    for (var i = 0; i < tabCtrl.TabCount; i++)
                    {
                        var rect = tabCtrl.RectangleToScreen(tabCtrl.GetTabRect(i));
                        if (rect.Contains(mousePos))
                        {
                            // emulate event to show tip for other tab page
                            this.OnMouseEntered(tabCtrl.TabPages[i], null);
                        }
                    }
                }
            }

            this.lastPopupVisible.Reset();
            this.lastPopupVisible.Start(); // track time popup was last visible in order to implement ReshowDelay;
        }
示例#2
0
 /// <summary>The on tracking stopped.</summary>
 /// <param name="sender">The sender value.</param>
 /// <param name="e">The e value.</param>
 public void OnTrackingStopped(object sender, HoverTracker.TrackerEventArgs e)
 {
     this.Fired++;
     this.Ev = e;
 }