Siticone Logo
Siticone UI
DOCS
v2025.12.15
Docs Super Progress Bar

Siticone Super Progress Bar

The SiticoneSuperProgressBar is a cutting-edge, linear progress indicator built for high-fidelity applications. It transcends traditional static bars by incorporating physics-based momentum animations (acceleration/deceleration), rich gradient support (Rainbow, Animated), and an event-driven architecture for milestones and state changes.

Values & Range

Properties defining the numeric model of the progress bar.

Property Type Description & Usage Example
Value double bar.Value = 75.5; The target value. Setting this property initiates a momentum-based animation from the current visual value to the new target.
CurrentValue double double visualVal = bar.CurrentValue; Read-Only. Returns the actual animated value currently being rendered on screen.
Minimum double bar.Minimum = 0; The lower bound of the progress scale.
Maximum double bar.Maximum = 100; The upper bound of the progress scale.

Styling & Design

Customize the visual rendering mode, colors, and dimensions.

Property Type Description & Usage Example
DesignStyle ProgressDesignStyle bar.DesignStyle = ProgressDesignStyle.RainBow; Solid: Single flat color.
RainBow: Smooth multi-color gradient.
Animated: Dynamic shifting color spectrum.
SolidColor Color bar.SolidColor = Color.DodgerBlue; The primary fill color when using Solid style.
RainbowColors Color[] bar.RainbowColors = new Color[] { Color.Red, Color.Blue }; Array of colors used to generate the static gradient for RainBow style.
AnimatedColors Color[] bar.AnimatedColors = new Color[] { Color.Cyan, Color.Magenta }; Array of colors that cycle smoothly across the bar in Animated style.
ProgressThickness int bar.ProgressThickness = 10; The height of the active progress indicator in pixels.
BaselineThickness int bar.BaselineThickness = 2; The height of the background track line in pixels.

Physics & Motion

Fine-tune the "feel" of the value transition using spring physics parameters.

Property Type Description & Usage Example
AnimationSpeed double bar.AnimationSpeed = 0.1; Controls the velocity of the transition. Higher values result in faster movement.
Damping double bar.Damping = 0.85; Controls the "friction" of the motion. Lower values cause more oscillation/bounce before settling; values closer to 1.0 are smoother.
ColorAnimationSpeed double bar.ColorAnimationSpeed = 0.02; The speed of the color shift effect when DesignStyle is set to Animated.

Events

Rich event system for monitoring state changes, milestones, and rendering.

Event Wiring
// Value Changed Event
// Fires every tick during animation, providing detailed interpolation data.
bar.ValueChanged += (s, e) => 
{
                Console.WriteLine($"Current: {e.CurrentAnimatedValue:F1} / Target: {e.NewValue:F1}");
};

// Milestone Event
// Fires when progress crosses key percentage markers (10%, 25%, 50%, 75%, 90%, 100%).
bar.ProgressMilestone += (s, e) => 
{
                Console.WriteLine($"Milestone Reached: {e.MilestonePercent}%");
                // Example: Play sound or flash UI
};

// Animation State Changed
// Fires when the bar starts/stops moving or changes acceleration phase.
bar.AnimationStateChanged += (s, e) => 
{
                Console.WriteLine($"State: {e.NewState} (Velocity: {e.Velocity:F2})");
};

Designer & Smart Tags

Includes a comprehensive Smart Tag panel for rapid visual configuration.

Feature Category Capabilities
Theme Presets Instantly apply professional styles:
  • Classic Blue: Standard Windows-style blue bar.
  • Rainbow Spectrum: Full RGB gradient.
  • Animated Neon: High-contrast, moving colors.
  • Corporate: Professional Green/Gray theme.
  • Gaming: Vibrant Red/Orange animated theme.
  • Minimal: Thin, subtle gray indicator.
  • Sunset Gradient: Warm Orange/Purple static gradient.
Quick Values Set to 25% / 50% / 75% / 100%: Quickly test different fill levels in the designer.
Settings Copy/Paste Settings: Transfer complex configurations between multiple bars.

Detailed Usage Examples

Example 1: Game Health Bar

Creating a dynamic health bar that changes color based on value.

C# - Health Logic
private void UpdateHealth(double health)
{
    hpBar.Value = health;

                // Dynamically change style based on health percentage
                if (health < 20)
    {
        hpBar.DesignStyle = ProgressDesignStyle.Animated;
        hpBar.AnimatedColors = new[] { Color.Red, Color.DarkRed };
        hpBar.ColorAnimationSpeed = 0.05; // Fast pulse
    }
                else
    {
        hpBar.DesignStyle = ProgressDesignStyle.Solid;
        hpBar.SolidColor = Color.LimeGreen;
    }
}

Example 2: File Transfer with Milestones

Using events to trigger notifications during a long process.

C# - Transfer Logic
private void SetupTransferBar()
{
    transferBar.Minimum = 0;
    transferBar.Maximum = 100;
    
                // Hook into milestone event
    transferBar.ProgressMilestone += (s, e) => 
    {
                if (e.MilestonePercent == 50)
                Console.WriteLine("Halfway there!");
            
                if (e.MilestonePercent == 100)
                MessageBox.Show("Transfer Complete!");
    };
}

Example 3: Custom Drawing

Overriding the paint event to add custom text or graphics on top of the bar.

C# - Custom Paint
// Subscribe to AfterProgressPaint
customBar.AfterProgressPaint += (s, e) => 
{
                string text = $"{(int)e.Percentage}%";
                using (var font = new Font("Arial", 8))
                using (var brush = new SolidBrush(Color.Black))
    {
                // Draw percentage in the center
                var size = e.Graphics.MeasureString(text, font);
                float x = e.FullBounds.X + (e.FullBounds.Width - size.Width) / 2;
                float y = e.FullBounds.Y + (e.FullBounds.Height - size.Height) / 2;
        
        e.Graphics.DrawString(text, font, brush, x, y);
    }
};