Appearance Customization
A feature that provides extensive options to style the control’s border, background, corners, and displayed text for a refined and integrated user interface.
Overview
This section covers properties related to the visual design of the control. It includes settings for border visibility and colors, background fill and gradient effects, individual corner radii, and text alignment. These properties enable developers to customize the control's appearance to match their application's theme and enhance user experience.
Property Overview Table
ShowBorder
Determines whether the control's border is drawn.
bool
true
BorderColor
Sets the default border color of the control.
Color
Gray
HoverBorderColor
Specifies the border color when the mouse hovers over the control.
Color
Blue
ActiveBorderColor
Specifies the border color when the control is focused.
Color
DodgerBlue
FillColor
Sets the solid background fill color (used when gradient is disabled).
Color
White
UseGradient
Enables or disables the use of a gradient background.
bool
false
GradientColorStart
The starting color for the gradient background.
Color
White
GradientColorEnd
The ending color for the gradient background.
Color
LightGray
GradientMode
Defines the direction or style of the gradient (Horizontal, Vertical, ForwardDiagonal, BackwardDiagonal).
GradientModes
None
CornerRadiusTopLeft
Radius of the top-left corner, allowing for rounded corner effects.
int
4
CornerRadiusTopRight
Radius of the top-right corner.
int
4
CornerRadiusBottomRight
Radius of the bottom-right corner.
int
4
CornerRadiusBottomLeft
Radius of the bottom-left corner.
int
4
TextAlignment
Sets the horizontal alignment (Left, Center, or Right) of the displayed numeric value.
TextAlignment
Right
Font
(Inherited from Control) Sets the font used to display the numeric value.
Font
Segoe UI, 11f, Bold
ForeColor
(Inherited from Control) Sets the color of the displayed numeric value.
Color
Black
Code Examples and Integration
The following code examples illustrate how to integrate and configure the Appearance Customization feature into a .NET WinForms application.
Example 1: Basic Appearance Setup
using System.Drawing;
using SiticoneNetFrameworkUI;
using SiticoneNetFrameworkUI.Helpers.Enum;
// Create an instance of the control and set its basic appearance properties.
var numericUpDown = new SiticoneUpDown
{
// Border settings
ShowBorder = true,
BorderColor = Color.DarkGray,
HoverBorderColor = Color.MediumBlue,
ActiveBorderColor = Color.DeepSkyBlue,
// Background settings
UseGradient = false,
FillColor = Color.White,
// Corner radii for a modern rounded look
CornerRadiusTopLeft = 6,
CornerRadiusTopRight = 6,
CornerRadiusBottomRight = 6,
CornerRadiusBottomLeft = 6,
// Text appearance
TextAlignment = SiticoneNetFrameworkUI.Helpers.Text.TextAlignment.Center,
Font = new Font("Segoe UI", 11f, FontStyle.Bold),
ForeColor = Color.Black
};
// Add the control to your form.
this.Controls.Add(numericUpDown);
Example 2: Gradient Background and Custom Border
using System.Drawing;
using SiticoneNetFrameworkUI;
using SiticoneNetFrameworkUI.Helpers.Enum;
// Configure the control to use a gradient background.
var numericUpDown = new SiticoneUpDown
{
// Enable gradient background and define the gradient colors.
UseGradient = true,
GradientColorStart = Color.LightYellow,
GradientColorEnd = Color.Orange,
GradientMode = GradientModes.Vertical,
// Customize the border
ShowBorder = true,
BorderColor = Color.OrangeRed,
HoverBorderColor = Color.Red,
ActiveBorderColor = Color.DarkRed,
// Set corner radii for smooth curves.
CornerRadiusTopLeft = 8,
CornerRadiusTopRight = 8,
CornerRadiusBottomRight = 8,
CornerRadiusBottomLeft = 8,
// Ensure text remains clear and centered.
TextAlignment = SiticoneNetFrameworkUI.Helpers.Text.TextAlignment.Center,
Font = new Font("Segoe UI", 11f, FontStyle.Bold),
ForeColor = Color.DarkSlateGray
};
// Add the control to the form.
this.Controls.Add(numericUpDown);
Example 3: Full Customization for a Modern UI
using System.Drawing;
using SiticoneNetFrameworkUI;
using SiticoneNetFrameworkUI.Helpers.Enum;
// Set up a fully customized numeric up/down control.
var numericUpDown = new SiticoneUpDown
{
// Border properties
ShowBorder = true,
BorderColor = Color.SlateGray,
HoverBorderColor = Color.CornflowerBlue,
ActiveBorderColor = Color.DodgerBlue,
// Background fill using a gradient for a modern look.
UseGradient = true,
GradientColorStart = Color.WhiteSmoke,
GradientColorEnd = Color.LightSteelBlue,
GradientMode = GradientModes.ForwardDiagonal,
FillColor = Color.White, // Fallback color if gradient is disabled
// Rounded corners to match modern UI standards.
CornerRadiusTopLeft = 10,
CornerRadiusTopRight = 10,
CornerRadiusBottomRight = 10,
CornerRadiusBottomLeft = 10,
// Text styling
TextAlignment = SiticoneNetFrameworkUI.Helpers.Text.TextAlignment.Right,
Font = new Font("Segoe UI", 11f, FontStyle.Bold),
ForeColor = Color.Black
};
// Add the control to your form.
this.Controls.Add(numericUpDown);
Key Points
Customizable Borders
Developers can control the border appearance through properties like ShowBorder, BorderColor, HoverBorderColor, and ActiveBorderColor.
Flexible Background Options
The control supports both solid fill and gradient backgrounds with customizable colors and gradient modes.
Individual Corner Radii
Each corner's radius can be set independently to achieve the desired rounded or sharp edge appearance.
Text Alignment and Styling
TextAlignment, Font, and ForeColor allow developers to adjust how the numeric value is displayed for clarity and consistency.
Best Practices
Use consistent color schemes
Ensure that border and background colors align with your application's theme for a unified user experience.
Leverage gradients sparingly
While gradients add depth, too many contrasting colors can make the control appear cluttered; choose subtle gradients where possible.
Match corner radii to overall UI design
Align the rounded corners of the control with other UI elements to maintain visual consistency.
Test text alignment in various sizes
Verify that the chosen TextAlignment and Font settings work well at different control sizes and resolutions.
Common Pitfalls
Overcomplicating the visual design
Avoid using too many contrasting colors or overly aggressive gradients that may disrupt a cohesive design.
Ignoring control scaling
Ensure that border thickness, corner radii, and text sizes are balanced when the control is resized.
Mismatched color themes
Consistently test the control's appearance across different application themes to avoid clashes with the UI palette.
Overriding default styles inadvertently
When customizing appearance properties, verify that changes do not unintentionally override essential visual cues such as focus or hover states.
Usage Scenarios
Themed Applications
Ideal for applications that require strict adherence to a specific color and design palette.
Enterprise software with corporate branding.
Modern UI Designs
Perfect for applications with a modern, flat, or gradient-heavy design language.
Consumer apps or dashboards with sleek visual elements.
Custom Component Libraries
Use in custom control libraries where components need to share a consistent and customizable appearance.
Reusable UI libraries in commercial software products.
Review
The Appearance Customization feature of the advanced numeric up/down control provides robust options to align the control with any visual design. With granular control over borders, gradients, corner radii, and text appearance, developers can ensure that the control not only functions well but also integrates seamlessly into the application's overall aesthetic.
Summary
The Appearance Customization feature enables developers to tailor the visual style of the numeric up/down control extensively. By adjusting properties such as border colors, gradient backgrounds, corner radii, and text alignment, the control can be adapted to fit a wide range of UI designs. This level of customization helps create a cohesive and modern user experience while maintaining functional integrity.
Integration Tips
Initialize Appearance Early
Set appearance properties during form initialization to ensure that the control renders correctly from the start.
Use Designer Support
Many appearance properties can be set via the Visual Studio designer for rapid prototyping and iterative design improvements.
Test in Multiple Themes
Verify the appearance under different system themes and DPI settings to ensure consistency and readability.
Combine with Behavior Configuration
Ensure that the visual changes complement behavioral cues (e.g., focus borders) for a consistent interactive experience.
Demo Application Example
Below is a sample demo application snippet that showcases the integration of the Appearance Customization feature:
using System;
using System.Drawing;
using System.Windows.Forms;
using SiticoneNetFrameworkUI;
using SiticoneNetFrameworkUI.Helpers.Enum;
using SiticoneNetFrameworkUI.Helpers.Text;
namespace DemoApp
{
public class MainForm : Form
{
public MainForm()
{
// Configure the form.
this.Text = "Appearance Customization Demo";
this.Width = 450;
this.Height = 250;
this.StartPosition = FormStartPosition.CenterScreen;
// Create a customized numeric up/down control.
var numericUpDown = new SiticoneUpDown
{
// Border customization.
ShowBorder = true,
BorderColor = Color.SlateGray,
HoverBorderColor = Color.CornflowerBlue,
ActiveBorderColor = Color.DodgerBlue,
// Background with gradient.
UseGradient = true,
GradientColorStart = Color.WhiteSmoke,
GradientColorEnd = Color.LightSteelBlue,
GradientMode = GradientModes.ForwardDiagonal,
FillColor = Color.White, // Fallback if gradient is disabled.
// Rounded corners.
CornerRadiusTopLeft = 10,
CornerRadiusTopRight = 10,
CornerRadiusBottomRight = 10,
CornerRadiusBottomLeft = 10,
// Text styling.
TextAlignment = TextAlignment.Center,
Font = new Font("Segoe UI", 11f, FontStyle.Bold),
ForeColor = Color.Black,
// Set additional numeric behavior (optional for demo purposes).
Minimum = 0M,
Maximum = 100M,
Value = 50M,
Increment = 5M,
DecimalPlaces = 0,
InputType = SiticoneNetFrameworkUI.Helpers.Enum.InputType.WholeNumbers,
EnableDirectInput = true
};
// Set the control's location on the form.
numericUpDown.Location = new Point(50, 80);
// Add the control to the form.
this.Controls.Add(numericUpDown);
}
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new MainForm());
}
}
}
This demo illustrates how to configure the control's visual aspects using the Appearance Customization feature. The example shows a fully styled numeric up/down control integrated into a simple WinForms application.
Last updated