Siticone Animate Form
The SiticoneAnimateForm component brings professional, high-performance animations to Windows Forms.
It handles form load/close transitions (Fade, Slide, Scale, Bounce), smooth form-to-form navigation, and sequential animation of child controls.
It operates as a non-visual component that you drop onto your form to instantly modernize its behavior.
Core Animation Properties
Configure how the form appears and disappears.
| Property | Type | Description & Usage Example |
|---|---|---|
TargetForm |
Form | animator.TargetForm = this; The form instance to animate. Typically set to 'this' in the constructor. |
AnimationTypeIn |
AnimationType |
animator.AnimationTypeIn = AnimationType.Slide;
Effect applied when the form loads: Fade, Slide, Scale, Bounce, Rotate, Flip, or Blur.
|
AnimationTypeOut |
AnimationType | animator.AnimationTypeOut = AnimationType.Fade; Effect applied when the form closes. |
SlideDirection |
AnimationDirection |
animator.SlideDirection = AnimationDirection.Right;
Direction for slide animations: Left, Right, Up, or Down.
|
AnimationDuration |
int | animator.AnimationDuration = 500; Time in milliseconds for the animation to complete. |
EasingType |
EasingType |
animator.EasingType = FormAnimationEasingType.EaseOut;
Mathematical curve for velocity: Linear, EaseIn, EaseOut, Bounce, Elastic, etc.
|
Behavior & Triggers
Control when and how animations are triggered automatically.
| Property | Type | Description & Usage Example |
|---|---|---|
AnimateOnLoad |
bool |
animator.AnimateOnLoad = true;
Automatically trigger AnimationTypeIn when the form is shown.
|
AnimateOnClose |
bool |
animator.AnimateOnClose = true;
Automatically trigger AnimationTypeOut (or reverse In) when the form closes.
|
ReverseExitAnimation |
bool | animator.ReverseExitAnimation = true; If true, the exit animation will be the exact reverse of the entry (e.g., Slide In Right becomes Slide Out Left). |
Child Control Animation
Animate buttons, panels, and inputs sequentially for a "staggered" entry effect.
| Property | Type | Description & Usage Example |
|---|---|---|
AnimateChildControls |
bool | animator.AnimateChildControls = true; Enables sequential animation for all controls on the form. |
ChildControlDelay |
int | animator.ChildControlDelay = 50; Delay in milliseconds between each control's animation start. |
AnimateControlsOnly |
bool | animator.AnimateControlsOnly = false; If true, the form itself stays static/visible while only its contents animate in. |
Methods & Transitions
Trigger animations manually or handle complex transitions.
// Smoothly swap two panels (e.g., Wizard Pages)
animator.TransitionControls(panelStep1, panelStep2, AnimationType.Slide);
// Animate current form out, then new form in
animator.TransitionToForm(new DashboardForm(), true);
// Manually trigger the entry animation
animator.StartAnimation(true);
Events
// 1. Animation Completed
animator.AnimationCompleted += (s, e) =>
{
Console.WriteLine("Form is fully visible.");
InitializeDataLoad();
};
// 2. Animation Progress
animator.AnimationProgress += (s, e) =>
{
Console.WriteLine($"Progress: {e.Progress * 100}%");
};
Designer Support
Visual Studio Smart Tags allow quick testing and configuration.
| Category | Features |
|---|---|
Animation Presets |
Instant configurations: Fade, Slide Right/Left/Up/Down, Scale, Bounce. |
Test Animation |
Preview Entry / Exit: Run the animation directly in the designer without compiling. |
Control Animation |
Toggle Enable Controls Animation to set up child control staggering. |
Detailed Usage Examples
Example 1: Basic Smooth Form Load
A standard fade-in/fade-out setup for a login form.
public LoginForm()
{
InitializeComponent();
var animator = new SiticoneAnimateForm(this.components);
animator.TargetForm = this;
// Fade In
animator.AnimationTypeIn = AnimationType.Fade;
animator.AnimationDuration = 800;
// Fade Out (Reverse)
animator.ReverseExitAnimation = true;
// Smooth movement
animator.EasingType = FormAnimationEasingType.EaseOut;
}
Example 2: Wizard Page Transition
Swapping panels smoothly to simulate a multi-step wizard within one form.
private void BtnNext_Click(object sender, EventArgs e)
{
// Move from Step 1 to Step 2
siticoneAnimateForm1.SlideDirection = AnimationDirection.Left;
siticoneAnimateForm1.TransitionControls(pnlStep1, pnlStep2, AnimationType.Slide);
}
private void BtnBack_Click(object sender, EventArgs e)
{
// Move back from Step 2 to Step 1
siticoneAnimateForm1.SlideDirection = AnimationDirection.Right;
siticoneAnimateForm1.TransitionControls(pnlStep2, pnlStep1, AnimationType.Slide);
}
Example 3: Staggered Dashboard Entry
Animating dashboard tiles sequentially for a premium look.
public DashboardForm()
{
InitializeComponent();
var animator = new SiticoneAnimateForm(this.components);
animator.TargetForm = this;
// Don't move the form, just the controls
animator.AnimateControlsOnly = true;
animator.AnimateChildControls = true;
// Slide controls in from the bottom
animator.AnimationTypeIn = AnimationType.Slide;
animator.SlideDirection = AnimationDirection.Up;
// Staggering effect
animator.ChildControlDelay = 100; // 100ms between each tile
animator.FadeChildControls = true;
}