Siticone Logo
Siticone UI
DOCS
v2025.12.15
Docs Horizontal Line Progress

Siticone HLine Progress

The SiticoneHLineProgress is a sophisticated single-line progress indicator designed for modern WinForms applications. It features high-quality buffered rendering, physics-based animations (Bounce, Elastic, Spring), gradient backgrounds, and an integrated "completion pulse" effect for enhanced visual feedback.

Values & Range

Properties managing the data visualized by the control.

Property Type Description & Usage Example
Value double progress.Value = 75.0; The target value of the progress bar. Setting this property automatically triggers the animation from the current visual state to the new target.
Minimum double progress.Minimum = 0; The lower bound of the progress range (default 0).
Maximum double progress.Maximum = 100; The upper bound of the progress range (default 100).

Appearance & Colors

Visual styling options including gradients, opacity, and glow effects.

Property Type Description & Usage Example
PrimaryColor Color progress.PrimaryColor = Color.DodgerBlue; The main color of the progress fill.
SecondaryColor Color progress.SecondaryColor = Color.DeepSkyBlue; The second color used for gradient shading.
GradientDirection GradientDirection progress.GradientDirection = GradientDirection.Horizontal; Direction of the color blend (Vertical, Horizontal, Diagonal).
BackgroundOpacity int progress.BackgroundOpacity = 30; Alpha value (0-255) for the unfilled track background. Lower values create a subtle track.
HighlightOpacity int progress.HighlightOpacity = 50; Intensity of the top-edge highlight stroke (0-255) for a 3D glass effect.
EnableGlow bool progress.EnableGlow = true; Enables a soft inner glow on the filled portion of the bar.

Animation System

Controls the physics and speed of the progress bar movement.

Property Type Description & Usage Example
TransitionEffect TransitionEffect progress.TransitionEffect = TransitionEffect.Elastic; The mathematical easing function used for movement. Options: Linear, EaseInOut, Bounce, Elastic, Spring.
AnimationSpeed double progress.AnimationSpeed = 0.15; Speed factor (0.01 to 1.0). Higher values result in faster transitions.

Pulse Animation

Configuration for the "completion pulse" effect that triggers when the progress reaches 100%.

Property Type Description & Usage Example
EnablePulseAnimation bool progress.EnablePulseAnimation = true; If true, the bar gently pulses (breathing effect) when Value reaches Maximum.
PulseColor Color progress.PulseColor = Color.White; The overlay color used for the pulse flash.
PulseDuration int progress.PulseDuration = 1500; Duration of a full pulse cycle in milliseconds.
PulseMaxOpacity int progress.PulseMaxOpacity = 100; Peak opacity (0-255) of the pulse overlay.

Corner Radius

Properties for customizing the geometry of the progress bar ends.

Property Type Description & Usage Example
SyncCornerRadius bool progress.SyncCornerRadius = true; If true, changing any corner radius property updates all four corners simultaneously.
TopLeftRadius float progress.TopLeftRadius = 5f;
TopRightRadius float progress.TopRightRadius = 5f;
BottomLeftRadius float progress.BottomLeftRadius = 5f;
BottomRightRadius float progress.BottomRightRadius = 5f;

Public Methods

SetCornerRadii(float, float, float, float)
// Helper method to set all four corner radii independently in a single call.
// Temporarily disables 'SyncCornerRadius' to apply asymmetric shapes.
public void ApplyCustomShape()
{
                // Create a "leaf" shape: Top-Left and Bottom-Right rounded
    hLineProgress1.SetCornerRadii(10f, 0f, 10f, 0f);
}

Designer & Smart Tags

The control offers extensive design-time support via the Visual Studio Smart Tag menu.

Feature Description
Theme Presets Quickly apply color schemes:
  • Blue / Green / Red / Purple: Standard vibrant themes.
  • Dark: A sleek dark mode theme with subtle opacity.
Animation Presets Instantly configure motion physics:
  • Linear: Constant speed.
  • Ease In-Out: Smooth acceleration/deceleration.
  • Bounce: Hits the target and bounces back.
  • Elastic: Overshoots and wiggles before settling.
Corner Presets Shape configurations: Square, Rounded, Circular (Pill shape), and Custom.

Detailed Usage Examples

Example 1: Task Completion with Pulse

Configures the progress bar to show task progress and pulse visibly when the task finishes (reaches 100%).

C# - Task Progress
private void SetupTaskProgressBar()
{
    progressBar.Minimum = 0;
    progressBar.Maximum = 100;
    
                // Configure visual style
    progressBar.PrimaryColor = Color.MediumSeaGreen;
    progressBar.SecondaryColor = Color.SeaGreen;
    progressBar.GradientDirection = GradientDirection.Horizontal;
    progressBar.EnableGlow = true;
    
                // Enable pulse on completion
    progressBar.EnablePulseAnimation = true;
    progressBar.PulseColor = Color.White;
    progressBar.PulseMaxOpacity = 150;
    
                // Smooth animation
    progressBar.TransitionEffect = TransitionEffect.EaseInOut;
    progressBar.AnimationSpeed = 0.1;
}

private void UpdateProgress(int percent)
{
                // Setting the value automatically animates to the new percentage.
                // If percent is 100, the pulse animation will start automatically.
    progressBar.Value = percent;
}

Example 2: Physics-Based Feedback

Uses the Elastic transition effect to give the progress bar a responsive, organic feel, suitable for interactive sliders or volume controls.

C# - Elastic Animation
private void ConfigureElasticBar()
{
    progressBar.Value = 0;
    
                // Set 'Elastic' effect for springy motion
    progressBar.TransitionEffect = TransitionEffect.Elastic;
    
                // Lower speed emphasizes the elastic wobble
    progressBar.AnimationSpeed = 0.08; 
    
                // High opacity highlight for "glassy" look
    progressBar.HighlightOpacity = 100;
    progressBar.BackgroundOpacity = 40;
}

private void btnBoost_Click(object sender, EventArgs e)
{
                // When clicked, the bar will spring to 80% and wobble before settling
    progressBar.Value = 80;
}

Example 3: Asymmetric Styling (Custom Shapes)

Demonstrates how to use SetCornerRadii to create a unique shape, such as a tab indicator or a specialized HUD element.

C# - Custom Shapes
public void ApplyTabStyle()
{
                // Set standard size
    progressBar.Height = 10;
    
                // Create a shape flat on bottom, rounded on top
                // (TopLeft, TopRight, BottomRight, BottomLeft)
    progressBar.SetCornerRadii(10f, 10f, 0f, 0f);
    
                // Custom styling
    progressBar.PrimaryColor = Color.Orange;
    progressBar.SecondaryColor = Color.DarkOrange;
    progressBar.BackgroundOpacity = 0; // Transparent track
}