Siticone Logo
Siticone UI
DOCS
v2025.12.15
Docs Nav Forward Button

Siticone Nav Forward Button

The SiticoneNavForwardButton is a high-performance, vector-based navigation control designed for "Next" or "Forward" actions in wizard interfaces, browsers, or paginated apps. It features a forward-pointing chevron (>) and supports physics-based animations, including interactive rotation, bounce effects, and particle explosions.

Colors & Appearance

Properties to customize the look of the button in various states (Normal, Hover, Pressed).

Property Type Description & Usage Example
IconColor Color navBtn.IconColor = Color.FromArgb(64, 64, 64); The color of the forward chevron icon.
HoverColor Color navBtn.HoverColor = Color.FromArgb(240, 240, 240); The background color when the mouse is hovering over the control.
HoverOpacity byte navBtn.HoverOpacity = 150; Controls the transparency (0-255) of the hover background fill.
PressColor Color navBtn.PressColor = Color.FromArgb(240, 240, 240); The background color when the button is actively pressed.
PressShadowColor Color navBtn.PressShadowColor = Color.Black; The color of the inner shadow effect during a press action.

Layout & Geometry

Settings for sizing the icon, borders, shadows, and overall shape.

Property Type Description & Usage Example
IconSize float navBtn.IconSize = 24f; The size of the chevron icon in pixels.
IconStrokeWidth float navBtn.IconStrokeWidth = 2f; The thickness of the chevron lines.
BorderRadius int navBtn.BorderRadius = 8; Rounds the corners of the button background.
EnableShadow bool navBtn.EnableShadow = true; Toggles a drop shadow behind the button.
ShadowColor Color navBtn.ShadowColor = Color.FromArgb(50, 0, 0, 0);
ShadowDepth int navBtn.ShadowDepth = 3; The offset distance of the drop shadow.

Animation & Effects

Advanced physics-based animations for rich interactivity.

Property Type Description & Usage Example
EnableRippleEffect bool navBtn.EnableRippleEffect = true; Draws an expanding circular ripple on click.
EnablePulseEffect bool navBtn.EnablePulseEffect = true; Adds a subtle pulsating scale animation to the icon on hover.
InteractiveBounce bool navBtn.InteractiveBounce = true; Enables a bouncy scale physics simulation when clicked.
BounceStrength float navBtn.BounceStrength = 0.3f; The intensity of the bounce (0.1 to 1.0).
BounceDuration int navBtn.BounceDuration = 500; Duration of the bounce animation in ms.
IsInteractive bool navBtn.IsInteractive = true; If true, the chevron rotates slightly (15 degrees) when pressed.
PressDepthOffset int navBtn.PressDepthOffset = 2; Pixel depth the button visually depresses when clicked.
HoverAnimationSpeed int navBtn.HoverAnimationSpeed = 200;
PressAnimationSpeed int navBtn.PressAnimationSpeed = 100;

Particle System

Configure the confetti-like particle explosion effect on click.

Property Type Description & Usage Example
EnableParticles bool navBtn.EnableParticles = true; Enables particle emission on click.
ParticleColor Color navBtn.ParticleColor = Color.CornflowerBlue;
ParticleCount int navBtn.ParticleCount = 20; Number of particles spawned per click.
ParticleSpeed float navBtn.ParticleSpeed = 3.0f; Velocity of the emitted particles.

Behavior & Read-Only

Control interaction modes and read-only feedback.

Property Type Description & Usage Example
IsReadOnly bool navBtn.IsReadOnly = true; If true, standard click actions are disabled. Clicking triggers Shake/Beep feedback instead.
CanShake bool navBtn.CanShake = true; If true, the button shakes horizontally when clicked in ReadOnly mode.
CanBeep bool navBtn.CanBeep = true; If true, plays a system beep when clicked in ReadOnly mode.

Events

Animation Hooks
// Fired when the hover transition finishes
navBtn.HoverAnimationCompleted += (sender, e) => 
{
                Debug.WriteLine("Hover transition done");
};

// Fired when all particles from a click have faded out
navBtn.ParticleAnimationCompleted += (sender, e) =>
{
                Debug.WriteLine("Particles cleared");
};

Designer Support

The control includes a Smart Tag panel for rapid configuration.

Category Features
Theme Presets Apply complete styles instantly: Light, Dark, Orange, Success, Warning, Error, Secondary.
Quick Config Direct access to Shadow, Bounce, and Particle toggles.
Utilities Copy/Paste Settings: Easily replicate styles across multiple buttons.

Detailed Examples

Example 1: Browser "Next" Button

Standard forward navigation setup mimicking a browser interface.

C# - Browser Navigation
public void SetupForwardButton()
{
    btnForward.InteractiveBounce = true;
    btnForward.BounceStrength = 0.3f;
    btnForward.IsInteractive = true; // Rotates icon slightly forward on press
    
    btnForward.Click += (s, e) =>
    {
                if (webBrowser1.CanGoForward)
        {
            webBrowser1.GoForward();
        }
    };
}

Example 2: Locked State (Read-Only)

Visually indicating that forward navigation is currently unavailable (e.g., on the last page).

C# - Locked State
public void UpdateNavigationState(bool canGoForward)
{
                if (!canGoForward)
    {
        btnForward.IsReadOnly = true;
        btnForward.IconColor = Color.Gray;
        
                // Enable haptic visual feedback for invalid clicks
        btnForward.CanShake = true;
        btnForward.CanBeep = false;
    }
                else
    {
        btnForward.IsReadOnly = false;
        btnForward.IconColor = Color.Black;
    }
}

Example 3: Custom Theme Extensions

Applying a custom look programmatically since the control doesn't have a native "ApplyTheme" method exposed in the API.

C# - Custom Theme Helper
public static class NavButtonExtensions
{
                public static void ApplyCyberpunkTheme(this SiticoneNavForwardButton btn)
    {
        btn.IconColor = Color.Yellow;
        btn.HoverColor = Color.FromArgb(20, 20, 20);
        btn.PressColor = Color.FromArgb(40, 40, 40);
        btn.ParticleColor = Color.Cyan;
        btn.PressShadowColor = Color.Magenta;
        btn.EnableParticles = true;
        btn.ParticleCount = 30;
        btn.EnableShadow = true;
        btn.ShadowColor = Color.Purple;
    }
}

// Usage:
btnNext.ApplyCyberpunkTheme();