| Visual Basic (Declaration) | |
|---|---|
Protected Overrides Sub InitAppearance( _ ByRef appearance As Infragistics.Win.AppearanceData, _ ByRef requestedProps As Infragistics.Win.AppearancePropFlags _ ) | |
| C# | |
|---|---|
protected override void InitAppearance( ref Infragistics.Win.AppearanceData appearance, ref Infragistics.Win.AppearancePropFlags requestedProps ) | |
Parameters
- appearance
- The appearance structure to initialize.
- requestedProps
- The properties that are needed.
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 Basic | Copy 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 ; } | |