Siticone Logo
Siticone UI
DOCS
v2025.12.15
Docs Dashboard Button Advanced

Siticone Dashboard Button Advanced

The SiticoneDashboardButtonAdvanced is a high-performance, highly configurable control designed for building modern application dashboards and navigation menus. It goes beyond the standard dashboard button by offering gradient backgrounds, complex selection animations, image cross-fading, and a built-in performance mode for high-density UIs.

State & Grouping

Advanced selection logic and grouping capabilities for mutually exclusive buttons.

Property Type Description & Usage Example
IsSelected bool btn.IsSelected = true; Determines if the button is currently active. Setting this triggers entry/exit animations for the background, text, and indicator.
GroupName string btn.GroupName = "SideMenu"; Assigns the button to a logical group. Only one button within the same parent container and group name can be selected at a time.

Advanced Content & Images

Support for primary/secondary images with smooth cross-fade transitions on state changes.

Property Type Description & Usage Example
Image Image btn.Image = Resources.Home_Gray; The default icon displayed in the normal state.
HoverImage Image btn.HoverImage = Resources.Home_Blue; The icon displayed on hover. The control smoothly cross-fades between Image and HoverImage.
SelectedImage Image btn.SelectedImage = Resources.Home_White; The icon displayed when selected. Cross-fades from the previous state.
ImageTransitionDurationMs int btn.ImageTransitionDurationMs = 200; Duration of the image cross-fade animation.
ImageSize int btn.ImageSize = 24;

Gradients & Borders

Create depth with gradient fills and customizable borders.

Property Type Description & Usage Example
UseGradientBackground bool btn.UseGradientBackground = true; Enables gradient rendering for the background.
GradientStartColor Color btn.GradientStartColor = Color.Blue;
GradientEndColor Color btn.GradientEndColor = Color.Cyan;
BorderThickness int btn.BorderThickness = 1;
BorderColor Color btn.BorderColor = Color.Gray;
HoverBorderColor Color btn.HoverBorderColor = Color.LightBlue;

Selection Indicator

A highly customizable vertical bar indicating the selected item.

Property Type Description & Usage Example
IndicatorSide IndicatorSides btn.IndicatorSide = IndicatorSides.Left; Position of the indicator: Left or Right.
IndicatorWidth int btn.IndicatorWidth = 4; Thickness of the indicator bar.
IndicatorRadius int btn.IndicatorRadius = 2; Applies via designer property IndicatorRadius which sets all 4 corners (TopLeft, TopRight, etc.) for a rounded bar.

Performance Mode

Optimization settings for high-density interfaces.

Property Type Description & Usage Example
UltraPerformance bool btn.UltraPerformance = true; When enabled, all animations (ripples, fades, slides) are completely disabled. The control renders instantly based on state. Use this for lists with 50+ buttons to ensure smooth scrolling.

Events

State Change Events
// SelectionChanging: Cancellable event before selection occurs.
btn.SelectionChanging += (s, e) => 
{
                if (!CanNavigateAway) e.Cancel = true;
};

// SelectionChanged: Fired after selection state updates.
btn.SelectionChanged += (s, e) => 
{
                Debug.WriteLine($"Button selected: {e.NewValue}");
};

// BadgeValueChanged: Fired when badge count updates.
btn.BadgeValueChanged += (s, e) => 
{
                Debug.WriteLine($"Badge changed from {e.OldValue} to {e.NewValue}");
};

Designer Support

The control includes a Smart Tag panel for rapid configuration.

Category Features
Theme Presets Access to 3 built-in theme presets: Default Blue (Standard), Graphite Dark (Dark Mode), Mint Light (Soft Colors).
Quick Actions Toggle Selected State: Preview selection in designer.
Configure/Hide Badge: Quickly add or remove the notification badge.
Apply Corner Presets: Rounded, Left-Rounded, Right-Rounded, or Square.
Utilities Copy/Paste Settings: Replicate styles across multiple instances.

Detailed Examples

Example 1: Sidebar Menu with Icons

Setting up a navigation menu with image transitions.

C# - Sidebar Setup
public void InitializeSidebar()
{
                var btnHome = new SiticoneDashboardButtonAdvanced
    {
        Text = "Home",
        Image = Resources.Home_Gray,
        HoverImage = Resources.Home_Blue,
        SelectedImage = Resources.Home_White,
        GroupName = "MainMenu",
        IsSelected = true
    };

                var btnSettings = new SiticoneDashboardButtonAdvanced
    {
        Text = "Settings",
        Image = Resources.Settings_Gray,
        HoverImage = Resources.Settings_Blue,
        SelectedImage = Resources.Settings_White,
        GroupName = "MainMenu"
    };
    
                // Add to panel...
}

Example 2: Dynamic Notification Badge

Updating the badge based on application events.

C# - Update Badge
public void OnNewMessage(int count)
{
                // Update using the specialized method which triggers animation
    btnMessages.UpdateBadge(count, animate: true);
    
                // Or set directly
                // btnMessages.BadgeCount = count;
    
                // Customize badge appearance dynamically
                if (count > 10)
    {
        btnMessages.BadgeColor = Color.Red;
    }
                else
    {
        btnMessages.BadgeColor = Color.Orange;
    }
}

Example 3: High Performance Grid

Configuring buttons for a dense list where performance is critical.

C# - Performance Mode
public void LoadLargeList()
{
                for (int i = 0; i < 100; i++)
    {
                var btn = new SiticoneDashboardButtonAdvanced
        {
            Text = $"Item {i}",
            UltraPerformance = true, // Disables animations
            Dock = DockStyle.Top,
            Height = 40
        };
        pnlContainer.Controls.Add(btn);
    }
}