Infragistics2.Win.v8.1
WantsMouseHoverNotification Property
See Also  Example
Infragistics.Win Namespace > UIElement Class : WantsMouseHoverNotification Property

Return true if this element wants to be notified when the mouse hovers over it. This property is read-only.

Syntax

Visual Basic (Declaration) 
Protected Overridable ReadOnly Property WantsMouseHoverNotification As Boolean
C# 
protected virtual bool WantsMouseHoverNotification {get;}

Remarks

The default implemenation returns false. This should be overridden by elements that want their OnMouseHover method to be called.

Example

This sample initializes the appearance of a UIElement based on the mouse position within the element. It also exemplifies the use of mouse hover notifications.

Visual BasicCopy Code
    Imports Infragistics.Win

    Private mouseEnteredElement As Boolean = False
    Private mouseHoveringOnElement As Boolean = False

    Protected Overrides Sub InitAppearance(ByRef appearance As AppearanceData, ByRef requestedProps As AppearancePropFlags)

        MyBase.InitAppearance(appearance, requestedProps)

        ' Set BackColor based on whether or not mouse is over
        ' the element.
        If (Me.mouseHoveringOnElement) Then
            appearance.BackColor = Color.Green
        ElseIf (Me.mouseEnteredElement) Then
            appearance.BackColor = Color.Red
        Else
            appearance.BackColor = Color.Transparent
        End If

    End Sub


    Protected Overrides Sub OnMouseEnter()

        Me.mouseEnteredElement = True

            ' Call when sub UIElements need to simply be repainted (color change etc).
            If Not Me.IsDrawing then
            Me.Invalidate()
            End If

    End Sub

    Protected Overrides Sub OnMouseHover()

        Me.mouseHoveringOnElement = True

            ' Call when sub UIElements need to be repositioned or sized.
        Me.DirtyChildElements()

    End Sub

    Protected Overrides Sub OnMouseLeave()

        Me.mouseHoveringOnElement = False
        Me.mouseEnteredElement = False

        If Not Me.IsDrawing then
            Me.Invalidate()
            End If

    End Sub

    Protected Overrides ReadOnly Property WantsMouseHoverNotification() As Boolean

        Get
            Return True
        End Get

    End Property
C#Copy Code
       using Infragistics.Win;

       
private bool mouseEnteredElement = false;
       
private bool mouseHoveringOnElement = false;

       
protected override void OnMouseHover()
       {

           
this.mouseHoveringOnElement = true;

           
// Call when sub UIElements need to be repositioned or sized.
           
this.DirtyChildElements();

       }

       
protected override bool WantsMouseHoverNotification
       {

           get
           {
               
return true;
           }

       }


       
protected override void OnMouseEnter()
       {

           
this.mouseEnteredElement = true;

           
// Call when sub UIElements need to simply be repainted (color change etc).
           
if (!this.IsDrawing)
               
this.Invalidate();

       }


       
protected override void OnMouseLeave()
       {

           
this.mouseHoveringOnElement = false;
           
this.mouseEnteredElement = false;

           
// Call when sub UIElements need to simply be repainted (color change etc).
           
if (!this.IsDrawing)
               
this.Invalidate();

       }


       
protected override void InitAppearance(ref AppearanceData appearance, ref AppearancePropFlags requestedProps)
       {

           
base.InitAppearance(ref appearance, ref  requestedProps);

           
// Set BackColor based on whether or not mouse is over
           
// the element.
           
if(this.mouseHoveringOnElement)
               appearance.BackColor = Color.Green;
           
else if(this.mouseEnteredElement)
               appearance.BackColor = Color.Red;
           
else
               
appearance.BackColor = Color.Transparent ;

       }

See Also