mirror of
https://github.com/Code-Artist/ToggleSwitch.git
synced 2024-12-25 23:39:41 +00:00
408 lines
25 KiB
C#
408 lines
25 KiB
C#
using System.Drawing;
|
|
using System.Threading;
|
|
using System.Windows.Forms;
|
|
using JCS;
|
|
using ToggleSwitchDemo.Properties;
|
|
|
|
namespace ToggleSwitchDemo
|
|
{
|
|
public partial class DemoForm : Form
|
|
{
|
|
public DemoForm()
|
|
{
|
|
InitializeComponent();
|
|
SetPropertiesForStylesTabSwitches();
|
|
SetPropertiesForPropertiesTabSwitches();
|
|
SetPropertiesForCustomizationsTabSwitches();
|
|
}
|
|
|
|
public void SetPropertiesForStylesTabSwitches()
|
|
{
|
|
//Set the properties for the ToggleSwitches on the "Styles" tab
|
|
|
|
MetroStyleToggleSwitch.Style = JCS.ToggleSwitch.ToggleSwitchStyle.Metro; //Default
|
|
MetroStyleToggleSwitch.Size = new Size(75, 23);
|
|
|
|
IOS5StyleToggleSwitch.Style = JCS.ToggleSwitch.ToggleSwitchStyle.IOS5;
|
|
IOS5StyleToggleSwitch.Size = new Size(98, 42);
|
|
IOS5StyleToggleSwitch.OnText = "ON";
|
|
IOS5StyleToggleSwitch.OnFont = new Font(DemoTabControl.Font.FontFamily, 12, FontStyle.Bold);
|
|
IOS5StyleToggleSwitch.OnForeColor = Color.White;
|
|
IOS5StyleToggleSwitch.OffText = "OFF";
|
|
IOS5StyleToggleSwitch.OffFont = new Font(DemoTabControl.Font.FontFamily, 12, FontStyle.Bold);
|
|
IOS5StyleToggleSwitch.OffForeColor = Color.FromArgb(141, 123, 141);
|
|
|
|
AndroidStyleToggleSwitch.Style = JCS.ToggleSwitch.ToggleSwitchStyle.Android;
|
|
AndroidStyleToggleSwitch.Size = new Size(78, 23);
|
|
AndroidStyleToggleSwitch.OnText = "ON";
|
|
AndroidStyleToggleSwitch.OnFont = new Font(DemoTabControl.Font.FontFamily, 8, FontStyle.Bold);
|
|
AndroidStyleToggleSwitch.OnForeColor = Color.White;
|
|
AndroidStyleToggleSwitch.OffText = "OFF";
|
|
AndroidStyleToggleSwitch.OffFont = new Font(DemoTabControl.Font.FontFamily, 8, FontStyle.Bold);
|
|
AndroidStyleToggleSwitch.OffForeColor = Color.FromArgb(141, 123, 141);
|
|
|
|
BrushedMetalStyleToggleSwitch.Style = JCS.ToggleSwitch.ToggleSwitchStyle.BrushedMetal;
|
|
BrushedMetalStyleToggleSwitch.Size = new Size(93, 30);
|
|
BrushedMetalStyleToggleSwitch.OnText = "ON";
|
|
BrushedMetalStyleToggleSwitch.OnFont = new Font(DemoTabControl.Font.FontFamily, 10, FontStyle.Bold);
|
|
BrushedMetalStyleToggleSwitch.OnForeColor = Color.White;
|
|
BrushedMetalStyleToggleSwitch.OffText = "OFF";
|
|
BrushedMetalStyleToggleSwitch.OffFont = new Font(DemoTabControl.Font.FontFamily, 10, FontStyle.Bold);
|
|
BrushedMetalStyleToggleSwitch.OffForeColor = Color.White;
|
|
|
|
IphoneStyleToggleSwitch.Style = JCS.ToggleSwitch.ToggleSwitchStyle.Iphone;
|
|
IphoneStyleToggleSwitch.Size = new Size(93, 30);
|
|
IphoneStyleToggleSwitch.OnText = "ON";
|
|
IphoneStyleToggleSwitch.OnFont = new Font(DemoTabControl.Font.FontFamily, 10, FontStyle.Bold);
|
|
IphoneStyleToggleSwitch.OnForeColor = Color.White;
|
|
IphoneStyleToggleSwitch.OffText = "OFF";
|
|
IphoneStyleToggleSwitch.OffFont = new Font(DemoTabControl.Font.FontFamily, 10, FontStyle.Bold);
|
|
IphoneStyleToggleSwitch.OffForeColor = Color.FromArgb(92, 92, 92);
|
|
|
|
ModernStyleToggleSwitch.Style = JCS.ToggleSwitch.ToggleSwitchStyle.Modern;
|
|
ModernStyleToggleSwitch.Size = new Size(85, 32);
|
|
ModernStyleToggleSwitch.OnText = "ON";
|
|
ModernStyleToggleSwitch.OnFont = new Font(DemoTabControl.Font.FontFamily, 10, FontStyle.Bold);
|
|
ModernStyleToggleSwitch.OnForeColor = Color.White;
|
|
ModernStyleToggleSwitch.OffText = "OFF";
|
|
ModernStyleToggleSwitch.OffFont = new Font(DemoTabControl.Font.FontFamily, 10, FontStyle.Bold);
|
|
ModernStyleToggleSwitch.OffForeColor = Color.FromArgb(153, 153, 153);
|
|
|
|
CarbonStyleToggleSwitch.Style = JCS.ToggleSwitch.ToggleSwitchStyle.Carbon;
|
|
CarbonStyleToggleSwitch.Size = new Size(93, 30);
|
|
CarbonStyleToggleSwitch.OnText = "On";
|
|
CarbonStyleToggleSwitch.OnFont = new Font(DemoTabControl.Font.FontFamily, 10, FontStyle.Bold);
|
|
CarbonStyleToggleSwitch.OnForeColor = Color.White;
|
|
CarbonStyleToggleSwitch.OffText = "Off";
|
|
CarbonStyleToggleSwitch.OffFont = new Font(DemoTabControl.Font.FontFamily, 10, FontStyle.Bold);
|
|
CarbonStyleToggleSwitch.OffForeColor = Color.White;
|
|
|
|
OSXStyleToggleSwitch.Style = JCS.ToggleSwitch.ToggleSwitchStyle.OSX;
|
|
OSXStyleToggleSwitch.Size = new Size(93, 25);
|
|
|
|
FancyStyleToggleSwitch.Style = JCS.ToggleSwitch.ToggleSwitchStyle.Fancy;
|
|
FancyStyleToggleSwitch.Size = new Size(100, 30);
|
|
FancyStyleToggleSwitch.OnText = "ON";
|
|
FancyStyleToggleSwitch.OnFont = new Font(DemoTabControl.Font.FontFamily, 10, FontStyle.Bold);
|
|
FancyStyleToggleSwitch.OnForeColor = Color.White;
|
|
FancyStyleToggleSwitch.OffText = "OFF";
|
|
FancyStyleToggleSwitch.OffFont = new Font(DemoTabControl.Font.FontFamily, 10, FontStyle.Bold);
|
|
FancyStyleToggleSwitch.OffForeColor = Color.White;
|
|
FancyStyleToggleSwitch.ButtonImage = Resources.handle;
|
|
|
|
PlainAndSimpleStyleToggleSwitch.Style = JCS.ToggleSwitch.ToggleSwitchStyle.PlainAndSimpel;
|
|
PlainAndSimpleStyleToggleSwitch.Size = new Size(44, 22);
|
|
}
|
|
|
|
public void SetPropertiesForPropertiesTabSwitches()
|
|
{
|
|
//Set the properties for the ToggleSwitches on the "(Semi)-Important Properties" tab
|
|
|
|
//AllowUserChange example:
|
|
|
|
AllowUserChangeToggleSwitch1.AllowUserChange = false;
|
|
AllowUserChangeToggleSwitch2.AllowUserChange = true;
|
|
|
|
//Animation example:
|
|
|
|
NoAnimationToggleSwitch.Style = JCS.ToggleSwitch.ToggleSwitchStyle.Carbon; //Only to provide an interesting look
|
|
NoAnimationToggleSwitch.Size = new Size(93, 30); //Only to provide an interesting look
|
|
NoAnimationToggleSwitch.OnText = "On"; //Only to provide an interesting look
|
|
NoAnimationToggleSwitch.OnFont = new Font(DemoTabControl.Font.FontFamily, 10, FontStyle.Bold); //Only to provide an interesting look
|
|
NoAnimationToggleSwitch.OnForeColor = Color.White; //Only to provide an interesting look
|
|
NoAnimationToggleSwitch.OffText = "Off"; //Only to provide an interesting look
|
|
NoAnimationToggleSwitch.OffFont = new Font(DemoTabControl.Font.FontFamily, 10, FontStyle.Bold); //Only to provide an interesting look
|
|
NoAnimationToggleSwitch.OffForeColor = Color.White; //Only to provide an interesting look
|
|
NoAnimationToggleSwitch.UseAnimation = false;
|
|
|
|
FastAnimationToggleSwitch.Style = JCS.ToggleSwitch.ToggleSwitchStyle.Carbon; //Only to provide an interesting look
|
|
FastAnimationToggleSwitch.Size = new Size(93, 30); //Only to provide an interesting look
|
|
FastAnimationToggleSwitch.OnText = "On"; //Only to provide an interesting look
|
|
FastAnimationToggleSwitch.OnFont = new Font(DemoTabControl.Font.FontFamily, 10, FontStyle.Bold); //Only to provide an interesting look
|
|
FastAnimationToggleSwitch.OnForeColor = Color.White; //Only to provide an interesting look
|
|
FastAnimationToggleSwitch.OffText = "Off"; //Only to provide an interesting look
|
|
FastAnimationToggleSwitch.OffFont = new Font(DemoTabControl.Font.FontFamily, 10, FontStyle.Bold); //Only to provide an interesting look
|
|
FastAnimationToggleSwitch.OffForeColor = Color.White; //Only to provide an interesting look
|
|
FastAnimationToggleSwitch.UseAnimation = true; //Default
|
|
FastAnimationToggleSwitch.AnimationInterval = 1; //Default
|
|
FastAnimationToggleSwitch.AnimationStep = 10; //Default
|
|
|
|
SlowAnimationToggleSwitch.Style = JCS.ToggleSwitch.ToggleSwitchStyle.Carbon; //Only to provide an interesting look
|
|
SlowAnimationToggleSwitch.Size = new Size(93, 30); //Only to provide an interesting look
|
|
SlowAnimationToggleSwitch.OnText = "On"; //Only to provide an interesting look
|
|
SlowAnimationToggleSwitch.OnFont = new Font(DemoTabControl.Font.FontFamily, 10, FontStyle.Bold); //Only to provide an interesting look
|
|
SlowAnimationToggleSwitch.OnForeColor = Color.White; //Only to provide an interesting look
|
|
SlowAnimationToggleSwitch.OffText = "Off"; //Only to provide an interesting look
|
|
SlowAnimationToggleSwitch.OffFont = new Font(DemoTabControl.Font.FontFamily, 10, FontStyle.Bold); //Only to provide an interesting look
|
|
SlowAnimationToggleSwitch.OffForeColor = Color.White; //Only to provide an interesting look
|
|
SlowAnimationToggleSwitch.UseAnimation = true; //Default
|
|
SlowAnimationToggleSwitch.AnimationInterval = 10;
|
|
SlowAnimationToggleSwitch.AnimationStep = 1;
|
|
|
|
//GrayWhenDisabled example:
|
|
|
|
GrayWhenDisabledToggleSwitch1.Style = JCS.ToggleSwitch.ToggleSwitchStyle.Fancy; //Only to provide an interesting look
|
|
GrayWhenDisabledToggleSwitch1.Size = new Size(100, 30); //Only to provide an interesting look
|
|
GrayWhenDisabledToggleSwitch1.OnText = "ON"; //Only to provide an interesting look
|
|
GrayWhenDisabledToggleSwitch1.OnFont = new Font(DemoTabControl.Font.FontFamily, 10, FontStyle.Bold); //Only to provide an interesting look
|
|
GrayWhenDisabledToggleSwitch1.OnForeColor = Color.White; //Only to provide an interesting look
|
|
GrayWhenDisabledToggleSwitch1.OffText = "OFF"; //Only to provide an interesting look
|
|
GrayWhenDisabledToggleSwitch1.OffFont = new Font(DemoTabControl.Font.FontFamily, 10, FontStyle.Bold); //Only to provide an interesting look
|
|
GrayWhenDisabledToggleSwitch1.OffForeColor = Color.White; //Only to provide an interesting look
|
|
GrayWhenDisabledToggleSwitch1.ButtonImage = Resources.arrowright; //Only to provide an interesting look
|
|
GrayWhenDisabledToggleSwitch1.GrayWhenDisabled = false;
|
|
|
|
GrayWhenDisabledToggleSwitch2.Style = JCS.ToggleSwitch.ToggleSwitchStyle.Fancy; //Only to provide an interesting look
|
|
GrayWhenDisabledToggleSwitch2.Size = new Size(100, 30); //Only to provide an interesting look
|
|
GrayWhenDisabledToggleSwitch2.OnText = "ON"; //Only to provide an interesting look
|
|
GrayWhenDisabledToggleSwitch2.OnFont = new Font(DemoTabControl.Font.FontFamily, 10, FontStyle.Bold); //Only to provide an interesting look
|
|
GrayWhenDisabledToggleSwitch2.OnForeColor = Color.White; //Only to provide an interesting look
|
|
GrayWhenDisabledToggleSwitch2.OffText = "OFF"; //Only to provide an interesting look
|
|
GrayWhenDisabledToggleSwitch2.OffFont = new Font(DemoTabControl.Font.FontFamily, 10, FontStyle.Bold); //Only to provide an interesting look
|
|
GrayWhenDisabledToggleSwitch2.OffForeColor = Color.White; //Only to provide an interesting look
|
|
GrayWhenDisabledToggleSwitch2.ButtonImage = Resources.arrowright; //Only to provide an interesting look
|
|
GrayWhenDisabledToggleSwitch2.GrayWhenDisabled = true; //Default
|
|
|
|
//ThresholdPercentage example:
|
|
|
|
ThresholdPercentageToggleSwitch.Style = JCS.ToggleSwitch.ToggleSwitchStyle.IOS5; //Only to provide an interesting look
|
|
ThresholdPercentageToggleSwitch.Size = new Size(98, 42); //Only to provide an interesting look
|
|
ThresholdPercentageToggleSwitch.OnText = "ON"; //Only to provide an interesting look
|
|
ThresholdPercentageToggleSwitch.OnFont = new Font(DemoTabControl.Font.FontFamily, 12, FontStyle.Bold); //Only to provide an interesting look
|
|
ThresholdPercentageToggleSwitch.OnForeColor = Color.White; //Only to provide an interesting look
|
|
ThresholdPercentageToggleSwitch.OffText = "OFF"; //Only to provide an interesting look
|
|
ThresholdPercentageToggleSwitch.OffFont = new Font(DemoTabControl.Font.FontFamily, 12, FontStyle.Bold); //Only to provide an interesting look
|
|
ThresholdPercentageToggleSwitch.OffForeColor = Color.FromArgb(141, 123, 141); //Only to provide an interesting look
|
|
ThresholdPercentageToggleSwitch.ThresholdPercentage = 50; //Default
|
|
|
|
//ToggleOnButtonClick & ToggleOnSideClick example:
|
|
|
|
ToggleOnClickToggleSwitch.Style = JCS.ToggleSwitch.ToggleSwitchStyle.BrushedMetal; //Only to provide an interesting look
|
|
ToggleOnClickToggleSwitch.Size = new Size(93, 30); //Only to provide an interesting look
|
|
ToggleOnClickToggleSwitch.OnText = "ON"; //Only to provide an interesting look
|
|
ToggleOnClickToggleSwitch.OnFont = new Font(DemoTabControl.Font.FontFamily, 10, FontStyle.Bold); //Only to provide an interesting look
|
|
ToggleOnClickToggleSwitch.OnForeColor = Color.White; //Only to provide an interesting look
|
|
ToggleOnClickToggleSwitch.OffText = "OFF"; //Only to provide an interesting look
|
|
ToggleOnClickToggleSwitch.OffFont = new Font(DemoTabControl.Font.FontFamily, 10, FontStyle.Bold); //Only to provide an interesting look
|
|
ToggleOnClickToggleSwitch.OffForeColor = Color.White; //Only to provide an interesting look
|
|
ToggleOnClickToggleSwitch.ToggleOnButtonClick = true; //Default
|
|
ToggleOnClickToggleSwitch.ToggleOnSideClick = true; //Default
|
|
}
|
|
|
|
public void SetPropertiesForCustomizationsTabSwitches()
|
|
{
|
|
//Set the properties for the ToggleSwitches on the "Special Customizations" tab
|
|
|
|
//Color customization example, Metro Style ToggleSwitch:
|
|
|
|
NormalMetroToggleSwitch.Style = JCS.ToggleSwitch.ToggleSwitchStyle.Metro; //Default
|
|
NormalMetroToggleSwitch.Size = new Size(75, 23);
|
|
|
|
ToggleSwitchMetroRenderer customizedMetroRenderer = new ToggleSwitchMetroRenderer();
|
|
customizedMetroRenderer.LeftSideColor = Color.Red;
|
|
customizedMetroRenderer.LeftSideColorHovered = Color.FromArgb(210, 0, 0);
|
|
customizedMetroRenderer.LeftSideColorPressed = Color.FromArgb(190, 0, 0);
|
|
customizedMetroRenderer.RightSideColor = Color.Yellow;
|
|
customizedMetroRenderer.RightSideColorHovered = Color.FromArgb(245, 245, 0);
|
|
customizedMetroRenderer.RightSideColorPressed = Color.FromArgb(235, 235, 0);
|
|
|
|
CustomizedMetroToggleSwitch.Style = JCS.ToggleSwitch.ToggleSwitchStyle.Metro; //Default
|
|
CustomizedMetroToggleSwitch.Size = new Size(75, 23);
|
|
CustomizedMetroToggleSwitch.SetRenderer(customizedMetroRenderer);
|
|
|
|
//Color customization example, IOS5 Style ToggleSwitch:
|
|
|
|
NormalIOS5ToggleSwitch.Style = JCS.ToggleSwitch.ToggleSwitchStyle.IOS5;
|
|
NormalIOS5ToggleSwitch.Size = new Size(98, 42);
|
|
NormalIOS5ToggleSwitch.OnText = "ON";
|
|
NormalIOS5ToggleSwitch.OnFont = new Font(DemoTabControl.Font.FontFamily, 12, FontStyle.Bold);
|
|
NormalIOS5ToggleSwitch.OnForeColor = Color.White;
|
|
NormalIOS5ToggleSwitch.OffText = "OFF";
|
|
NormalIOS5ToggleSwitch.OffFont = new Font(DemoTabControl.Font.FontFamily, 12, FontStyle.Bold);
|
|
NormalIOS5ToggleSwitch.OffForeColor = Color.FromArgb(141, 123, 141);
|
|
|
|
//Maybe not the prettiest color scheme in the world - It's just for demonstration :-)
|
|
ToggleSwitchIOS5Renderer customizedIos5Renderer = new ToggleSwitchIOS5Renderer();
|
|
customizedIos5Renderer.LeftSideUpperColor1 = Color.FromArgb(128, 0, 64);
|
|
customizedIos5Renderer.LeftSideUpperColor2 = Color.FromArgb(180, 0, 90);
|
|
customizedIos5Renderer.LeftSideLowerColor1 = Color.FromArgb(250, 0, 125);
|
|
customizedIos5Renderer.LeftSideLowerColor2 = Color.FromArgb(255, 120, 190);
|
|
customizedIos5Renderer.RightSideUpperColor1 = Color.FromArgb(0, 64, 128);
|
|
customizedIos5Renderer.RightSideUpperColor2 = Color.FromArgb(0, 90, 180);
|
|
customizedIos5Renderer.RightSideLowerColor1 = Color.FromArgb(0, 125, 250);
|
|
customizedIos5Renderer.RightSideLowerColor2 = Color.FromArgb(120, 190, 255);
|
|
customizedIos5Renderer.ButtonNormalOuterBorderColor = Color.Green;
|
|
customizedIos5Renderer.ButtonNormalInnerBorderColor = Color.Green;
|
|
customizedIos5Renderer.ButtonNormalSurfaceColor1 = Color.Red;
|
|
customizedIos5Renderer.ButtonNormalSurfaceColor2 = Color.Red;
|
|
customizedIos5Renderer.ButtonHoverOuterBorderColor = Color.Green;
|
|
customizedIos5Renderer.ButtonHoverInnerBorderColor = Color.Green;
|
|
customizedIos5Renderer.ButtonHoverSurfaceColor1 = Color.Red;
|
|
customizedIos5Renderer.ButtonHoverSurfaceColor2 = Color.Red;
|
|
customizedIos5Renderer.ButtonPressedOuterBorderColor = Color.Green;
|
|
customizedIos5Renderer.ButtonPressedInnerBorderColor = Color.Green;
|
|
customizedIos5Renderer.ButtonPressedSurfaceColor1 = Color.Red;
|
|
customizedIos5Renderer.ButtonPressedSurfaceColor2 = Color.Red;
|
|
|
|
CustomizedIOS5ToggleSwitch.Style = JCS.ToggleSwitch.ToggleSwitchStyle.IOS5;
|
|
CustomizedIOS5ToggleSwitch.Size = new Size(98, 42);
|
|
CustomizedIOS5ToggleSwitch.OnText = "ON";
|
|
CustomizedIOS5ToggleSwitch.OnFont = new Font(DemoTabControl.Font.FontFamily, 12, FontStyle.Bold);
|
|
CustomizedIOS5ToggleSwitch.OnForeColor = Color.White;
|
|
CustomizedIOS5ToggleSwitch.OffText = "OFF";
|
|
CustomizedIOS5ToggleSwitch.OffFont = new Font(DemoTabControl.Font.FontFamily, 12, FontStyle.Bold);
|
|
CustomizedIOS5ToggleSwitch.OffForeColor = Color.White; //OBS: Need to change this for text visibility
|
|
CustomizedIOS5ToggleSwitch.SetRenderer(customizedIos5Renderer);
|
|
|
|
//Color customization example using RendererChanged event
|
|
|
|
NormalPlainAndSimpleToggleSwitch.Style = JCS.ToggleSwitch.ToggleSwitchStyle.PlainAndSimpel;
|
|
NormalPlainAndSimpleToggleSwitch.Size = new Size(44, 22);
|
|
|
|
CustomizedPlainAndSimpleToggleSwitch.Style = JCS.ToggleSwitch.ToggleSwitchStyle.PlainAndSimpel;
|
|
CustomizedPlainAndSimpleToggleSwitch.Size = new Size(44, 22);
|
|
CustomizedPlainAndSimpleToggleSwitch.BeforeRendering += CustomizedPlainAndSimpleToggleSwitch_BeforeRendering;
|
|
|
|
//Image customization example, Fancy Style ToggleSwitch:
|
|
|
|
NormalFancyToggleSwitch.Style = JCS.ToggleSwitch.ToggleSwitchStyle.Fancy;
|
|
NormalFancyToggleSwitch.Size = new Size(100, 30);
|
|
NormalFancyToggleSwitch.OnText = "ON";
|
|
NormalFancyToggleSwitch.OnFont = new Font(DemoTabControl.Font.FontFamily, 10, FontStyle.Bold);
|
|
NormalFancyToggleSwitch.OnForeColor = Color.White;
|
|
NormalFancyToggleSwitch.OffText = "OFF";
|
|
NormalFancyToggleSwitch.OffFont = new Font(DemoTabControl.Font.FontFamily, 10, FontStyle.Bold);
|
|
NormalFancyToggleSwitch.OffForeColor = Color.White;
|
|
|
|
CustomizedFancyToggleSwitch.Style = JCS.ToggleSwitch.ToggleSwitchStyle.Fancy;
|
|
CustomizedFancyToggleSwitch.Size = new Size(100, 30);
|
|
CustomizedFancyToggleSwitch.OffButtonImage = Resources.arrowright;
|
|
CustomizedFancyToggleSwitch.OffSideImage = Resources.cross;
|
|
CustomizedFancyToggleSwitch.OnButtonImage = Resources.arrowleft;
|
|
CustomizedFancyToggleSwitch.OnSideImage = Resources.check;
|
|
|
|
//Advanced behavior example, Fancy Style ToggleSwitch:
|
|
|
|
Color tempColor;
|
|
|
|
ToggleSwitchFancyRenderer customizedFancyRenderer = new ToggleSwitchFancyRenderer();
|
|
tempColor = customizedFancyRenderer.LeftSideBackColor1;
|
|
customizedFancyRenderer.LeftSideBackColor1 = customizedFancyRenderer.RightSideBackColor1;
|
|
customizedFancyRenderer.RightSideBackColor1 = tempColor;
|
|
tempColor = customizedFancyRenderer.LeftSideBackColor2;
|
|
customizedFancyRenderer.LeftSideBackColor2 = customizedFancyRenderer.RightSideBackColor2;
|
|
customizedFancyRenderer.RightSideBackColor2 = tempColor;
|
|
|
|
AdvancedBehaviorFancyToggleSwitch.Style = JCS.ToggleSwitch.ToggleSwitchStyle.Fancy;
|
|
AdvancedBehaviorFancyToggleSwitch.Size = new Size(150, 30);
|
|
AdvancedBehaviorFancyToggleSwitch.OnText = "Restart";
|
|
AdvancedBehaviorFancyToggleSwitch.OnFont = new Font(DemoTabControl.Font.FontFamily, 10, FontStyle.Bold);
|
|
AdvancedBehaviorFancyToggleSwitch.OnForeColor = Color.White;
|
|
AdvancedBehaviorFancyToggleSwitch.OffText = "Online";
|
|
AdvancedBehaviorFancyToggleSwitch.OffFont = new Font(DemoTabControl.Font.FontFamily, 10, FontStyle.Bold);
|
|
AdvancedBehaviorFancyToggleSwitch.OffForeColor = Color.White;
|
|
AdvancedBehaviorFancyToggleSwitch.OffButtonImage = Resources.arrowright;
|
|
AdvancedBehaviorFancyToggleSwitch.UseAnimation = false;
|
|
AdvancedBehaviorFancyToggleSwitch.SetRenderer(customizedFancyRenderer);
|
|
AdvancedBehaviorFancyToggleSwitch.CheckedChanged += AdvancedBehaviorFancyToggleSwitch_CheckedChanged;
|
|
|
|
AnimatedGifPictureBox.Parent = AdvancedBehaviorFancyToggleSwitch; //Necessary to get the ToggleSwitch button to show through the picture box' transparent background
|
|
}
|
|
|
|
private void CustomizedPlainAndSimpleToggleSwitch_BeforeRendering(object sender, ToggleSwitch.BeforeRenderingEventArgs e)
|
|
{
|
|
if (e.Renderer is ToggleSwitchPlainAndSimpleRenderer)
|
|
{
|
|
ToggleSwitchPlainAndSimpleRenderer renderer = e.Renderer as ToggleSwitchPlainAndSimpleRenderer;
|
|
|
|
renderer.BorderColorChecked = Color.Green;
|
|
renderer.BorderColorUnchecked = Color.Red;
|
|
|
|
//Observe: in the BeforeRendering event, the Checked property will not yet have changed to the final state
|
|
if (!CustomizedPlainAndSimpleToggleSwitch.Checked)
|
|
{
|
|
renderer.ButtonColor = Color.DarkGray;
|
|
renderer.InnerBackgroundColor = Color.LightGray;
|
|
}
|
|
else
|
|
{
|
|
renderer.ButtonColor = Color.DarkBlue;
|
|
renderer.InnerBackgroundColor = Color.LightBlue;
|
|
}
|
|
}
|
|
}
|
|
|
|
private void AllowUserChangeCheckBox_CheckedChanged(object sender, System.EventArgs e)
|
|
{
|
|
AllowUserChangeToggleSwitch1.Checked = AllowUserChangeCheckBox.Checked;
|
|
AllowUserChangeToggleSwitch2.Checked = AllowUserChangeCheckBox.Checked;
|
|
}
|
|
|
|
private void GrayWhenDisabledCheckBox_CheckedChanged(object sender, System.EventArgs e)
|
|
{
|
|
GrayWhenDisabledToggleSwitch1.Enabled = GrayWhenDisabledCheckBox.Checked;
|
|
GrayWhenDisabledToggleSwitch2.Enabled = GrayWhenDisabledCheckBox.Checked;
|
|
}
|
|
|
|
private void ThresholdPercentageTrackBar_Scroll(object sender, System.EventArgs e)
|
|
{
|
|
label15.Text = string.Format("Value = {0} (Default = 50)", ThresholdPercentageTrackBar.Value);
|
|
ThresholdPercentageToggleSwitch.ThresholdPercentage = ThresholdPercentageTrackBar.Value;
|
|
}
|
|
|
|
private void ToggleOnButtonClickCheckBox_CheckedChanged(object sender, System.EventArgs e)
|
|
{
|
|
ToggleOnClickToggleSwitch.ToggleOnButtonClick = ToggleOnButtonClickCheckBox.Checked;
|
|
}
|
|
|
|
private void ToggleOnSideClickCheckBox_CheckedChanged(object sender, System.EventArgs e)
|
|
{
|
|
ToggleOnClickToggleSwitch.ToggleOnSideClick = ToggleOnSideClickCheckBox.Checked;
|
|
}
|
|
|
|
private void AdvancedBehaviorFancyToggleSwitch_CheckedChanged(object sender, System.EventArgs e)
|
|
{
|
|
if (AdvancedBehaviorFancyToggleSwitch.Checked)
|
|
{
|
|
AdvancedBehaviorFancyToggleSwitch.AllowUserChange = false;
|
|
AdvancedBehaviorFancyToggleSwitch.OnText = "Restarting...";
|
|
|
|
PositionAniGifPictureBox();
|
|
AnimatedGifPictureBox.Visible = true;
|
|
|
|
if (!SimulateRestartBackgroundWorker.IsBusy)
|
|
SimulateRestartBackgroundWorker.RunWorkerAsync();
|
|
}
|
|
else
|
|
{
|
|
AdvancedBehaviorFancyToggleSwitch.AllowUserChange = true;
|
|
AdvancedBehaviorFancyToggleSwitch.OnText = "Restart";
|
|
}
|
|
}
|
|
|
|
private void PositionAniGifPictureBox()
|
|
{
|
|
//Position anigif picturebox
|
|
|
|
Rectangle buttonRectangle = AdvancedBehaviorFancyToggleSwitch.ButtonRectangle;
|
|
|
|
AnimatedGifPictureBox.Height = buttonRectangle.Height - 2;
|
|
AnimatedGifPictureBox.Width = AnimatedGifPictureBox.Height;
|
|
AnimatedGifPictureBox.Left = buttonRectangle.X + ((buttonRectangle.Width - AnimatedGifPictureBox.Width) / 2);
|
|
AnimatedGifPictureBox.Top = buttonRectangle.Y + ((buttonRectangle.Height - AnimatedGifPictureBox.Height) / 2);
|
|
}
|
|
|
|
private void SimulateRestartBackgroundWorker_DoWork(object sender, System.ComponentModel.DoWorkEventArgs e)
|
|
{
|
|
//Simulate restart delay
|
|
Thread.Sleep(1500);
|
|
}
|
|
|
|
private void SimulateRestartBackgroundWorker_RunWorkerCompleted(object sender, System.ComponentModel.RunWorkerCompletedEventArgs e)
|
|
{
|
|
AnimatedGifPictureBox.Visible = false;
|
|
AdvancedBehaviorFancyToggleSwitch.Checked = false;
|
|
}
|
|
}
|
|
}
|