[
  {
    "path": ".gitattributes",
    "content": "###############################################################################\n# Set default behavior to automatically normalize line endings. \n###############################################################################\n* text=auto\n\n###############################################################################\n# Set default behavior for command prompt diff.\n#\n# This is need for earlier builds of msysgit that does not have it on by\n# default for csharp files.\n# Note: This is only used by command line\n###############################################################################\n#*.cs     diff=csharp\n\n###############################################################################\n# Set the merge driver for project and solution files\n#\n# Merging from the command prompt will add diff markers to the files if there\n# are conflicts (Merging from VS is not affected by the settings below, in VS\n# the diff markers are never inserted). Diff markers may cause the following \n# file extensions to fail to load in VS. An alternative would be to treat\n# these files as binary and thus will always conflict and require user\n# intervention with every merge. To do so, just uncomment the entries below\n###############################################################################\n#*.sln       merge=binary\n#*.csproj    merge=binary\n#*.vbproj    merge=binary\n#*.vcxproj   merge=binary\n#*.vcproj    merge=binary\n#*.dbproj    merge=binary\n#*.fsproj    merge=binary\n#*.lsproj    merge=binary\n#*.wixproj   merge=binary\n#*.modelproj merge=binary\n#*.sqlproj   merge=binary\n#*.wwaproj   merge=binary\n\n###############################################################################\n# behavior for image files\n#\n# image files are treated as binary by default.\n###############################################################################\n#*.jpg   binary\n#*.png   binary\n#*.gif   binary\n\n###############################################################################\n# diff behavior for common document formats\n# \n# Convert binary document formats to text before diffing them. This feature\n# is only available from the command line. Turn it on by uncommenting the \n# entries below.\n###############################################################################\n#*.doc   diff=astextplain\n#*.DOC   diff=astextplain\n#*.docx  diff=astextplain\n#*.DOCX  diff=astextplain\n#*.dot   diff=astextplain\n#*.DOT   diff=astextplain\n#*.pdf   diff=astextplain\n#*.PDF   diff=astextplain\n#*.rtf   diff=astextplain\n#*.RTF   diff=astextplain\n"
  },
  {
    "path": ".gitignore",
    "content": "## Ignore Visual Studio temporary files, build results, and\n## files generated by popular Visual Studio add-ons.\n\n# User-specific files\n*.suo\n*.user \n*.userosscache\n*.sln.docstates\n\n# User-specific files (MonoDevelop/Xamarin Studio)\n*.userprefs\n\n# Build results\n[Dd]ebug/\n[Dd]ebugPublic/\n[Rr]elease/\n[Rr]eleases/\n[Xx]64/\n[Xx]86/\n[Bb]uild/\nbld/\n[Bb]in/\n[Oo]bj/\n\n# Visual Studio 2015 cache/options directory\n.vs/\n# Uncomment if you have tasks that create the project's static files in wwwroot\n#wwwroot/\n\n# MSTest test Results\n[Tt]est[Rr]esult*/\n[Bb]uild[Ll]og.*\n\n# NUNIT\n*.VisualState.xml\nTestResult.xml\n\n# Build Results of an ATL Project\n[Dd]ebugPS/\n[Rr]eleasePS/\ndlldata.c\n\n# DNX\nproject.lock.json\nartifacts/\n\n*_i.c\n*_p.c\n*_i.h\n*.ilk\n*.meta\n*.obj\n*.pch\n*.pdb\n*.pgc\n*.pgd\n*.rsp\n*.sbr\n*.tlb\n*.tli\n*.tlh\n*.tmp\n*.tmp_proj\n*.log\n*.vspscc\n*.vssscc\n.builds\n*.pidb\n*.svclog\n*.scc\n\n# Chutzpah Test files\n_Chutzpah*\n\n# Visual C++ cache files\nipch/\n*.aps\n*.ncb\n*.opendb\n*.opensdf\n*.sdf\n*.cachefile\n*.VC.db\n\n# Visual Studio profiler\n*.psess\n*.vsp\n*.vspx\n*.sap\n\n# TFS 2012 Local Workspace\n$tf/\n\n# Guidance Automation Toolkit\n*.gpState\n\n# ReSharper is a .NET coding add-in\n_ReSharper*/\n*.[Rr]e[Ss]harper\n*.DotSettings.user\n\n# JustCode is a .NET coding add-in\n.JustCode\n\n# TeamCity is a build add-in\n_TeamCity*\n\n# DotCover is a Code Coverage Tool\n*.dotCover\n\n# NCrunch\n_NCrunch_*\n.*crunch*.local.xml\nnCrunchTemp_*\n\n# MightyMoose\n*.mm.*\nAutoTest.Net/\n\n# Web workbench (sass)\n.sass-cache/\n\n# Installshield output folder\n[Ee]xpress/\n\n# DocProject is a documentation generator add-in\nDocProject/buildhelp/\nDocProject/Help/*.HxT\nDocProject/Help/*.HxC\nDocProject/Help/*.hhc\nDocProject/Help/*.hhk\nDocProject/Help/*.hhp\nDocProject/Help/Html2\nDocProject/Help/html\n\n# Click-Once directory\npublish/\n\n# Publish Web Output\n*.[Pp]ublish.xml\n*.azurePubxml\n\n# TODO: Un-comment the next line if you do not want to checkin \n# your web deploy settings because they may include unencrypted\n# passwords\n#*.pubxml\n*.publishproj\n\n# NuGet Packages\n*.nupkg\n# The packages folder can be ignored because of Package Restore\n**/packages/*\n# except build/, which is used as an MSBuild target.\n!**/packages/build/\n# Uncomment if necessary however generally it will be regenerated when needed\n#!**/packages/repositories.config\n# NuGet v3's project.json files produces more ignoreable files\n*.nuget.props\n*.nuget.targets\n\n# Microsoft Azure Build Output\ncsx/\n*.build.csdef\n\n# Microsoft Azure Emulator\necf/\nrcf/\n\n# Microsoft Azure ApplicationInsights config file\nApplicationInsights.config\n\n# Windows Store app package directory\nAppPackages/\nBundleArtifacts/\n\n# Visual Studio cache files\n# files ending in .cache can be ignored\n*.[Cc]ache\n# but keep track of directories ending in .cache\n!*.[Cc]ache/\n\n# Others\nClientBin/\n[Ss]tyle[Cc]op.*\n~$*\n*~\n*.dbmdl\n*.dbproj.schemaview\n*.pfx\n*.publishsettings\nnode_modules/\norleans.codegen.cs\n\n# RIA/Silverlight projects\nGenerated_Code/\n\n# Backup & report files from converting an old project file\n# to a newer Visual Studio version. Backup files are not needed,\n# because we have git ;-)\n_UpgradeReport_Files/\nBackup*/\nUpgradeLog*.XML\nUpgradeLog*.htm\n\n# SQL Server files\n*.mdf\n*.ldf\n\n# Business Intelligence projects\n*.rdl.data\n*.bim.layout\n*.bim_*.settings\n\n# Microsoft Fakes\nFakesAssemblies/\n\n# GhostDoc plugin setting file\n*.GhostDoc.xml\n\n# Node.js Tools for Visual Studio\n.ntvs_analysis.dat\n\n# Visual Studio 6 build log\n*.plg\n\n# Visual Studio 6 workspace options file\n*.opt\n\n# Visual Studio LightSwitch build output\n**/*.HTMLClient/GeneratedArtifacts\n**/*.DesktopClient/GeneratedArtifacts\n**/*.DesktopClient/ModelManifest.xml\n**/*.Server/GeneratedArtifacts\n**/*.Server/ModelManifest.xml\n_Pvt_Extensions\n\n# LightSwitch generated files\nGeneratedArtifacts/\nModelManifest.xml\n\n# Paket dependency manager\n.paket/paket.exe\n\n# FAKE - F# Make\n.fake/\n/MetroSet UI/Controls/MetroSetDataGrid.cs\n"
  },
  {
    "path": "LICENSE",
    "content": "MIT License\n\nMetroSet UI - MetroSet UI Framewrok\n\nCopyright (c) 2017 Narwin, https://github.com/N-a-r-w-i-n\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"
  },
  {
    "path": "MetroSet Theme.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<MetroSetTheme>\n  <Theme>\n    <Name>Custom Theme</Name>\n    <Author>Narwin</Author>\n  </Theme>\n  <Form>\n    <ForeColor>#293955</ForeColor>\n    <BackColor>#FFFFFF</BackColor>\n    <BorderColor>#ffc40d</BorderColor>\n    <SmallLineColor1>#ffc40d</SmallLineColor1>\n    <SmallLineColor2>#ffc40d</SmallLineColor2>\n    <TextColor>#293955</TextColor>\n    <HeaderColor>#ffc40d</HeaderColor>\n  </Form>\n  <DefaultButton>\n    <NormalColor>#ffc40d</NormalColor>\n    <NormalBorderColor>#000000</NormalBorderColor>\n    <NormalTextColor>#FFFFFF</NormalTextColor>\n    <HoverColor>#293A56</HoverColor>\n    <HoverBorderColor>#2B2B2B</HoverBorderColor>\n    <HoverTextColor>#FFFFFF</HoverTextColor>\n    <PressColor>#D6DBE9</PressColor>\n    <PressBorderColor>#2B2B2B</PressBorderColor>\n    <PressTextColor>#FFFFFF</PressTextColor>\n    <DisabledBackColor>#EEEEEE</DisabledBackColor>\n    <DisabledBorderColor>#505050</DisabledBorderColor>\n    <DisabledForeColor>#6D6D6D</DisabledForeColor>\n  </DefaultButton>\n  <Button>\n    <NormalColor>#ffc40d</NormalColor>\n    <NormalBorderColor>#ffc40d</NormalBorderColor>\n    <NormalTextColor>#FFFFFF</NormalTextColor>\n    <HoverColor>#5FCFFF</HoverColor>\n    <HoverBorderColor>#5FCFFF</HoverBorderColor>\n    <HoverTextColor>#FFFFFF</HoverTextColor>\n    <PressColor>#2393C3</PressColor>\n    <PressBorderColor>#2393C3</PressBorderColor>\n    <PressTextColor>#FFFFFF</PressTextColor>\n    <DisabledBackColor>#FFE235</DisabledBackColor>\n    <DisabledBorderColor>#FFE235</DisabledBorderColor>\n    <DisabledForeColor>#808080</DisabledForeColor>\n  </Button>\n  <Tile>\n    <NormalColor>#ffc40d</NormalColor>\n    <NormalBorderColor>#ffc40d</NormalBorderColor>\n    <NormalTextColor>#FFFFFF</NormalTextColor>\n    <HoverColor>#293A56</HoverColor>\n    <HoverBorderColor>#2B2B2B</HoverBorderColor>\n    <HoverTextColor>#FFFFFF</HoverTextColor>\n    <PressColor>#D6DBE9</PressColor>\n    <PressBorderColor>#2B2B2B</PressBorderColor>\n    <PressTextColor>#FFFFFF</PressTextColor>\n    <DisabledBackColor>#EEEEEE</DisabledBackColor>\n    <DisabledBorderColor>#505050</DisabledBorderColor>\n    <DisabledForeColor>#6D6D6D</DisabledForeColor>\n  </Tile>\n  <Ellipse>\n    <NormalColor>#ffc40d</NormalColor>\n    <NormalBorderColor>#FFBA03</NormalBorderColor>\n    <NormalTextColor>#FFFFFF</NormalTextColor>\n    <HoverColor>#293A56</HoverColor>\n    <HoverBorderColor>#2B2B2B</HoverBorderColor>\n    <HoverTextColor>#FFFFFF</HoverTextColor>\n    <PressColor>#D6DBE9</PressColor>\n    <PressBorderColor>#2B2B2B</PressBorderColor>\n    <PressTextColor>#FFFFFF</PressTextColor>\n    <DisabledBackColor>#FFE235</DisabledBackColor>\n    <DisabledBorderColor>#FFE235</DisabledBorderColor>\n    <DisabledForeColor>#6D6D6D</DisabledForeColor>\n  </Ellipse>\n  <Badge>\n    <NormalColor>#ffc40d</NormalColor>\n    <NormalBorderColor>#000000</NormalBorderColor>\n    <NormalTextColor>#FFFFFF</NormalTextColor>\n    <HoverColor>#293A56</HoverColor>\n    <HoverBorderColor>#2B2B2B</HoverBorderColor>\n    <HoverTextColor>#FFFFFF</HoverTextColor>\n    <PressColor>#D6DBE9</PressColor>\n    <PressBorderColor>#2B2B2B</PressBorderColor>\n    <PressTextColor>#FFFFFF</PressTextColor>\n    <NormalBadgeColor>#ffc40d</NormalBadgeColor>\n    <NormalBadgeTextColor>#FFFFFF</NormalBadgeTextColor>\n    <HoverBadgeColor>#cb2828</HoverBadgeColor>\n    <HoverBadgeTextColor>#FFFFFF</HoverBadgeTextColor>\n    <PressBadgeColor>#a31414</PressBadgeColor>\n    <PressBadgeTextColor>#FFFFFF</PressBadgeTextColor>\n    <DisabledBackColor>#FFE235</DisabledBackColor>\n    <DisabledBorderColor>#FFE235</DisabledBorderColor>\n    <DisabledForeColor>#6D6D6D</DisabledForeColor>\n  </Badge>\n  <Label>\n    <ForeColor>#ffc40d</ForeColor>\n    <BackColor>#00FFFFFF</BackColor>\n  </Label>\n  <ComboBox>\n    <ForeColor>#CCCCCC</ForeColor>\n    <BackColor>#FFFFFF</BackColor>\n    <BorderColor>#6E6E6E</BorderColor>\n    <ArrowColor>#6E6E6E</ArrowColor>\n    <SelectedItemBackColor>#ffc40d</SelectedItemBackColor>\n    <SelectedItemForeColor>#FFFFFF</SelectedItemForeColor>\n    <DisabledBackColor>#EEEEEE</DisabledBackColor>\n    <DisabledBorderColor>#505050</DisabledBorderColor>\n    <DisabledForeColor>#6D6D6D</DisabledForeColor>\n  </ComboBox>\n  <TextBox>\n    <ForeColor>#CCCCCC</ForeColor>\n    <BackColor>#FFFFFF</BackColor>\n    <HoverColor>#ffc40d</HoverColor>\n    <BorderColor>#6E6E6E</BorderColor>\n    <WatermarkText>n</WatermarkText>\n    <DisabledBackColor>#EEEEEE</DisabledBackColor>\n    <DisabledBorderColor>#505050</DisabledBorderColor>\n    <DisabledForeColor>#6D6D6D</DisabledForeColor>\n  </TextBox>\n  <RichTextBox>\n    <ForeColor>#CCCCCC</ForeColor>\n    <BackColor>#FFFFFF</BackColor>\n    <HoverColor>#ffc40d</HoverColor>\n    <BorderColor>#6E6E6E</BorderColor>\n    <DisabledBackColor>#EEEEEE</DisabledBackColor>\n    <DisabledBorderColor>#505050</DisabledBorderColor>\n    <DisabledForeColor>#6D6D6D</DisabledForeColor>\n  </RichTextBox>\n  <Numeric>\n    <ForeColor>#CCCCCC</ForeColor>\n    <BackColor>#FFFFFF</BackColor>\n    <BorderColor>#6E6E6E</BorderColor>\n    <SymbolsColor>#ffc40d</SymbolsColor>\n    <DisabledBackColor>#EEEEEE</DisabledBackColor>\n    <DisabledBorderColor>#505050</DisabledBorderColor>\n    <DisabledForeColor>#6D6D6D</DisabledForeColor>\n  </Numeric>\n  <CheckBox>\n    <ForeColor>#ffc40d</ForeColor>\n    <CheckColor>#ffc40d</CheckColor>\n    <BackColor>#00FFFFFF</BackColor>\n    <BordeColor>#ffc40d</BordeColor>\n    <DisabledBorderColor>#999999</DisabledBorderColor>\n    <CheckedStyle>Shape</CheckedStyle>\n    <!--Sign, Shape-->\n  </CheckBox>\n  <SwitchBox>\n    <SymbolColor>#5C5C5C</SymbolColor>\n    <BackColor>#FFFFFF</BackColor>\n    <BorderColor>#9B9B9B</BorderColor>\n    <DisabledBorderColor>#555555</DisabledBorderColor>\n    <UnCheckColor>#9B9B9B</UnCheckColor>\n    <CheckColor>#ffc40d</CheckColor>\n    <DisabledUnCheckColor>#CDCDCD</DisabledUnCheckColor>\n    <DisabledCheckColor>#FFE235</DisabledCheckColor>\n  </SwitchBox>\n  <RadioButton>\n    <ForeColor>#ffc40d</ForeColor>\n    <CheckColor>#ffc40d</CheckColor>\n    <BackColor>#00FFFFFF</BackColor>\n    <BordeColor>#ffc40d</BordeColor>\n    <DisabledBorderColor>#999999</DisabledBorderColor>\n  </RadioButton>\n  <Divider>\n    <Orientation>Horizontal</Orientation>\n    <!--Horizontal, Vertical-->\n    <Thickness>1</Thickness>\n    <ForeColor>#ffc40d</ForeColor>\n  </Divider>\n  <LinkLabel>\n    <ForeColor>#ffc40d</ForeColor>\n    <BackColor>#00FFFFFF</BackColor>\n    <LinkColor>#41b1e1</LinkColor>\n    <ActiveLinkColor>#55c5f5</ActiveLinkColor>\n    <VisitedLinkColor>#2d9dcd</VisitedLinkColor>\n    <LinkBehavior>HoverUnderline</LinkBehavior>\n    <!--HoverUnderline, AlwaysUnderline, NeverUnderline, SystemDefault-->\n  </LinkLabel>\n  <ToolTip>\n    <ForeColor>#FFFFFF</ForeColor>\n    <BackColor>#FFFFFF</BackColor>\n    <BorderColor>#ffc40d</BorderColor>\n  </ToolTip>\n  <Progress>\n    <BackColor>#EEEEEE</BackColor>\n    <BorderColor>#EEEEEE</BorderColor>\n    <ProgressColor>#ffc40d</ProgressColor>\n    <DisabledBackColor>#EEEEEE</DisabledBackColor>\n    <DisabledBorderColor>#EEEEEE</DisabledBorderColor>\n    <DisabledProgressColor>#FFE235</DisabledProgressColor>\n  </Progress>\n  <TrackBar>\n    <BackColor>#EEEEEE</BackColor>\n    <HandlerColor>#8F8F8F</HandlerColor>\n    <ValueColor>#ffc40d</ValueColor>\n    <DisabledBackColor>#EEEEEE</DisabledBackColor>\n    <DisabledValueColor>#8F8F8F</DisabledValueColor>\n    <DisabledHandlerColor>#FFE235</DisabledHandlerColor>\n  </TrackBar>\n  <ContextMenu>\n    <BackColor>#FFFFFF</BackColor>\n    <ForeColor>#AAAAAA</ForeColor>\n    <ArrowColor>#808080</ArrowColor>\n    <SeparatorColor>#808080</SeparatorColor>\n    <SelectedItemColor>#FFFFFF</SelectedItemColor>\n    <SelectedItemBackColor>#ffc40d</SelectedItemBackColor>\n    <DisabledForeColor>#C0C0C0</DisabledForeColor>\n  </ContextMenu>\n  <TabControl>\n    <BackColor>#FFFFFF</BackColor>\n    <ForeColor>#ffc40d</ForeColor>\n    <UnselectedTextColor>#808080</UnselectedTextColor>\n    <SelectedTextColor>#FFFFFF</SelectedTextColor>\n  </TabControl>\n  <ScrollBar>\n    <BackColor>#FFFFFF</BackColor>\n    <ForeColor>#ffc40d</ForeColor>\n    <DisabledBackColor>#505050</DisabledBackColor>\n    <DisabledForeColor>#6D6D6D</DisabledForeColor>\n  </ScrollBar>\n  <ListBox>\n    <BackColor>#FFFFFF</BackColor>\n    <ForeColor>#808080</ForeColor>\n    <BorderColor>#404040</BorderColor>\n    <SelectedItemColor>#FFFFFF</SelectedItemColor>\n    <SelectedItemBackColor>#ffc40d</SelectedItemBackColor>\n    <HoveredItemColor>#000000</HoveredItemColor>\n    <HoveredItemBackColor>#FFE235</HoveredItemBackColor>\n    <DisabledBackColor>#505050</DisabledBackColor>\n    <DisabledForeColor>#6D6D6D</DisabledForeColor>\n  </ListBox>\n  <Panel>\n    <BackColor>#FFFFFF</BackColor>\n    <BorderColor>#6E6E6E</BorderColor>\n  </Panel>\n  <ControlBox>\n    <CloseHoverBackColor>#ffc40d</CloseHoverBackColor>\n    <CloseHoverForeColor>#FFFFFF</CloseHoverForeColor>\n    <CloseNormalForeColor>#808080</CloseNormalForeColor>\n    <MaximizeHoverBackColor>#EEEEEE</MaximizeHoverBackColor>\n    <MaximizeHoverForeColor>#808080</MaximizeHoverForeColor>\n    <MaximizeNormalForeColor>#808080</MaximizeNormalForeColor>\n    <MinimizeHoverBackColor>#EEEEEE</MinimizeHoverBackColor>\n    <MinimizeHoverForeColor>#808080</MinimizeHoverForeColor>\n    <MinimizeNormalForeColor>#808080</MinimizeNormalForeColor>\n  </ControlBox>\n</MetroSetTheme>\n"
  },
  {
    "path": "MetroSet UI/Actions/MetroSetBadgeActionList.cs",
    "content": "﻿/*\n * MetroSet UI - MetroSet UI Framework\n * \n * The MIT License (MIT)\n * Copyright (c) 2017 Narwin, https://github.com/N-a-r-w-i-n\n * \n * Permission is hereby granted, free of charge, to any person obtaining a copy of \n * this software and associated documentation files (the \"Software\"), to deal in the \n * Software without restriction, including without limitation the rights to use, copy, \n * modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, \n * and to permit persons to whom the Software is furnished to do so, subject to the \n * following conditions:\n * \n * The above copyright notice and this permission notice shall be included in \n * all copies or substantial portions of the Software.\n * \n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, \n * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A \n * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT \n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF \n * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE \n * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nusing System.ComponentModel;\nusing System.ComponentModel.Design;\nusing System.Drawing;\nusing MetroSet_UI.Components;\nusing MetroSet_UI.Controls;\nusing MetroSet_UI.Enums;\n\nnamespace MetroSet_UI.Actions\n{\n\tpublic class MetroSetBadgeActionList : DesignerActionList\n\t{\n\t\tprivate readonly MetroSetBadge _metroSetBadge;\n\n\t\tpublic MetroSetBadgeActionList(IComponent component) : base(component)\n\t\t{\n\t\t\t_metroSetBadge = (MetroSetBadge)component;\n\t\t}\n\n\t\tpublic Style Style\n\t\t{\n\t\t\tget => _metroSetBadge.Style;\n\t\t\tset => _metroSetBadge.Style = value;\n\t\t}\n\n\t\tpublic string ThemeAuthor => _metroSetBadge.ThemeAuthor;\n\n\t\tpublic string ThemeName => _metroSetBadge.ThemeName;\n\n\t\tpublic StyleManager StyleManager\n\t\t{\n\t\t\tget => _metroSetBadge.StyleManager;\n\t\t\tset => _metroSetBadge.StyleManager = value;\n\t\t}\n\n\t\tpublic string Text\n\t\t{\n\t\t\tget => _metroSetBadge.Text;\n\t\t\tset => _metroSetBadge.Text = value;\n\t\t}\n\n\t\tpublic Font Font\n\t\t{\n\t\t\tget => _metroSetBadge.Font;\n\t\t\tset => _metroSetBadge.Font = value;\n\t\t}\n\n\t\tpublic BadgeAlign BadgeAlignment\n\t\t{\n\t\t\tget => _metroSetBadge.BadgeAlignment;\n\t\t\tset => _metroSetBadge.BadgeAlignment = value;\n\t\t}\n\n\t\tpublic string BadgeText\n\t\t{\n\t\t\tget => _metroSetBadge.BadgeText;\n\t\t\tset => _metroSetBadge.BadgeText = value;\n\t\t}\n\n\t\tpublic override DesignerActionItemCollection GetSortedActionItems()\n\t\t{\n\t\t\tvar items = new DesignerActionItemCollection\n\t\t{\n\t\t\tnew DesignerActionHeaderItem(\"MetroSet Framework\"),\n\t\t\tnew DesignerActionPropertyItem(\"StyleManager\", \"StyleManager\", \"MetroSet Framework\", \"Gets or sets the stylemanager for the control.\"),\n\t\t\tnew DesignerActionPropertyItem(\"Style\", \"Style\", \"MetroSet Framework\", \"Gets or sets the style.\"),\n\n\t\t\tnew DesignerActionHeaderItem(\"Informations\"),\n\t\t\tnew DesignerActionPropertyItem(\"ThemeName\", \"ThemeName\", \"Informations\", \"Gets or sets the The Theme name associated with the theme.\"),\n\t\t\tnew DesignerActionPropertyItem(\"ThemeAuthor\", \"ThemeAuthor\", \"Informations\", \"Gets or sets the The Author name associated with the theme.\"),\n\n\t\t\tnew DesignerActionHeaderItem(\"Appearance\"),\n\t\t\tnew DesignerActionPropertyItem(\"Text\", \"Text\", \"Appearance\", \"Gets or sets the The text associated with the control.\"),\n\t\t\tnew DesignerActionPropertyItem(\"Font\", \"Font\", \"Appearance\", \"Gets or sets the The font associated with the control.\"),\n\n\t\t\tnew DesignerActionHeaderItem(\"Badge\"),\n\t\t\tnew DesignerActionPropertyItem(\"BadgeText\", \"BadgeText\", \"Badge\", \"Gets or sets the badge text associated with the control.\"),\n\t\t\tnew DesignerActionPropertyItem(\"BadgeAlignment\", \"BadgeAlignment\", \"Badge\", \"Gets or sets the badge alignment associated with the control.\")\n\t\t};\n\n\t\t\treturn items;\n\t\t}\n\t}\n}"
  },
  {
    "path": "MetroSet UI/Actions/MetroSetButtonActionList.cs",
    "content": "﻿/*\n * MetroSet UI - MetroSet UI Framework\n * \n * The MIT License (MIT)\n * Copyright (c) 2017 Narwin, https://github.com/N-a-r-w-i-n\n * \n * Permission is hereby granted, free of charge, to any person obtaining a copy of \n * this software and associated documentation files (the \"Software\"), to deal in the \n * Software without restriction, including without limitation the rights to use, copy, \n * modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, \n * and to permit persons to whom the Software is furnished to do so, subject to the \n * following conditions:\n * \n * The above copyright notice and this permission notice shall be included in \n * all copies or substantial portions of the Software.\n * \n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, \n * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A \n * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT \n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF \n * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE \n * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nusing System.ComponentModel;\nusing System.ComponentModel.Design;\nusing System.Drawing;\nusing MetroSet_UI.Components;\nusing MetroSet_UI.Controls;\nusing MetroSet_UI.Enums;\n\nnamespace MetroSet_UI.Actions\n{\n\tpublic class MetroSetButtonActionList : DesignerActionList\n\t{\n\t\tprivate readonly MetroSetButton _metroSetButton;\n\n\t\tpublic MetroSetButtonActionList(IComponent component) : base(component)\n\t\t{\n\t\t\t_metroSetButton = (MetroSetButton)component;\n\t\t}\n\n\t\tpublic Style Style\n\t\t{\n\t\t\tget => _metroSetButton.Style;\n\t\t\tset => _metroSetButton.Style = value;\n\t\t}\n\n\t\tpublic string ThemeAuthor => _metroSetButton.ThemeAuthor;\n\n\t\tpublic string ThemeName => _metroSetButton.ThemeName;\n\n\t\tpublic StyleManager StyleManager\n\t\t{\n\t\t\tget => _metroSetButton.StyleManager;\n\t\t\tset => _metroSetButton.StyleManager = value;\n\t\t}\n\n\t\tpublic string Text\n\t\t{\n\t\t\tget => _metroSetButton.Text;\n\t\t\tset => _metroSetButton.Text = value;\n\t\t}\n\n\t\tpublic Font Font\n\t\t{\n\t\t\tget => _metroSetButton.Font;\n\t\t\tset => _metroSetButton.Font = value;\n\t\t}\n\n\t\tpublic override DesignerActionItemCollection GetSortedActionItems()\n\t\t{\n\t\t\tvar items = new DesignerActionItemCollection\n\t\t{\n\t\t\tnew DesignerActionHeaderItem(\"MetroSet Framework\"),\n\t\t\tnew DesignerActionPropertyItem(\"StyleManager\", \"StyleManager\", \"MetroSet Framework\", \"Gets or sets the stylemanager for the control.\"),\n\t\t\tnew DesignerActionPropertyItem(\"Style\", \"Style\", \"MetroSet Framework\", \"Gets or sets the style.\"),\n\n\t\t\tnew DesignerActionHeaderItem(\"Informations\"),\n\t\t\tnew DesignerActionPropertyItem(\"ThemeName\", \"ThemeName\", \"Informations\", \"Gets or sets the The Theme name associated with the theme.\"),\n\t\t\tnew DesignerActionPropertyItem(\"ThemeAuthor\", \"ThemeAuthor\", \"Informations\", \"Gets or sets the The Author name associated with the theme.\"),\n\n\t\t\tnew DesignerActionHeaderItem(\"Appearance\"),\n\t\t\tnew DesignerActionPropertyItem(\"Text\", \"Text\", \"Appearance\", \"Gets or sets the The text associated with the control.\"),\n\t\t\tnew DesignerActionPropertyItem(\"Font\", \"Font\", \"Appearance\", \"Gets or sets the The font associated with the control.\")\n\t\t};\n\n\t\t\treturn items;\n\t\t}\n\t}\n}"
  },
  {
    "path": "MetroSet UI/Actions/MetroSetCheckBoxActionList.cs",
    "content": "﻿/*\n * MetroSet UI - MetroSet UI Framework\n * \n * The MIT License (MIT)\n * Copyright (c) 2017 Narwin, https://github.com/N-a-r-w-i-n\n * \n * Permission is hereby granted, free of charge, to any person obtaining a copy of \n * this software and associated documentation files (the \"Software\"), to deal in the \n * Software without restriction, including without limitation the rights to use, copy, \n * modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, \n * and to permit persons to whom the Software is furnished to do so, subject to the \n * following conditions:\n * \n * The above copyright notice and this permission notice shall be included in \n * all copies or substantial portions of the Software.\n * \n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, \n * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A \n * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT \n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF \n * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE \n * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nusing System.ComponentModel;\nusing System.ComponentModel.Design;\nusing MetroSet_UI.Components;\nusing MetroSet_UI.Controls;\nusing MetroSet_UI.Enums;\n\nnamespace MetroSet_UI.Actions\n{\n\tinternal class MetroSetRadioButtonActionList : DesignerActionList\n\t{\n\t\tprivate readonly MetroSetRadioButton _metroSetRadioButton;\n\n\t\tpublic MetroSetRadioButtonActionList(IComponent component) : base(component)\n\t\t{\n\t\t\t_metroSetRadioButton = (MetroSetRadioButton)component;\n\t\t}\n\n\t\tpublic Style Style\n\t\t{\n\t\t\tget => _metroSetRadioButton.Style;\n\t\t\tset => _metroSetRadioButton.Style = value;\n\t\t}\n\n\t\tpublic string ThemeAuthor => _metroSetRadioButton.ThemeAuthor;\n\n\t\tpublic string ThemeName => _metroSetRadioButton.ThemeName;\n\n\t\tpublic StyleManager StyleManager\n\t\t{\n\t\t\tget => _metroSetRadioButton.StyleManager;\n\t\t\tset => _metroSetRadioButton.StyleManager = value;\n\t\t}\n\n\t\tpublic string Text\n\t\t{\n\t\t\tget => _metroSetRadioButton.Text;\n\t\t\tset => _metroSetRadioButton.Text = value;\n\t\t}\n\n\t\tpublic bool Checked\n\t\t{\n\t\t\tget => _metroSetRadioButton.Checked;\n\t\t\tset => _metroSetRadioButton.Checked = value;\n\t\t}\n\n\t\tpublic override DesignerActionItemCollection GetSortedActionItems()\n\t\t{\n\t\t\tvar items = new DesignerActionItemCollection\n\t\t{\n\t\t\tnew DesignerActionHeaderItem(\"MetroSet Framework\"),\n\t\t\tnew DesignerActionPropertyItem(\"StyleManager\", \"StyleManager\", \"MetroSet Framework\", \"Gets or sets the stylemanager for the control.\"),\n\t\t\tnew DesignerActionPropertyItem(\"Style\", \"Style\", \"MetroSet Framework\", \"Gets or sets the style.\"),\n\n\t\t\tnew DesignerActionHeaderItem(\"Informations\"),\n\t\t\tnew DesignerActionPropertyItem(\"ThemeName\", \"ThemeName\", \"Informations\", \"Gets or sets the The Theme name associated with the theme.\"),\n\t\t\tnew DesignerActionPropertyItem(\"ThemeAuthor\", \"ThemeAuthor\", \"Informations\", \"Gets or sets the The Author name associated with the theme.\"),\n\n\t\t\tnew DesignerActionHeaderItem(\"Appearance\"),\n\t\t\tnew DesignerActionPropertyItem(\"Text\", \"Text\", \"Appearance\", \"Gets or sets the The text associated with the control.\"),\n\t\t\tnew DesignerActionPropertyItem(\"Checked\", \"Checked\", \"Appearance\", \"Gets or sets a value indicating whether the control is checked.\"),\n\n\t\t};\n\n\t\t\treturn items;\n\t\t}\n\t}\n}"
  },
  {
    "path": "MetroSet UI/Actions/MetroSetControlBoxActionList.cs",
    "content": "﻿using System.ComponentModel;\nusing System.ComponentModel.Design;\nusing MetroSet_UI.Components;\nusing MetroSet_UI.Controls;\nusing MetroSet_UI.Enums;\n\n/*\n * MetroSet UI - MetroSet UI Framework\n *\n * The MIT License (MIT)\n * Copyright (c) 2017 Narwin, https://github.com/N-a-r-w-i-n\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\n * this software and associated documentation files (the \"Software\"), to deal in the\n * Software without restriction, including without limitation the rights to use, copy,\n * modify, merge, publish, distribute, sublicense, and/or sell copies of the Software,\n * and to permit persons to whom the Software is furnished to do so, subject to the\n * following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,\n * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A\n * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF\n * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE\n * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nnamespace MetroSet_UI.Actions\n{\n\tinternal class MetroSetControlBoxActionList : DesignerActionList\n\t{\n\t\tprivate readonly MetroSetControlBox _metroSetControBox;\n\n\t\tpublic MetroSetControlBoxActionList(IComponent component) : base(component)\n\t\t{\n\t\t\t_metroSetControBox = (MetroSetControlBox)component;\n\t\t}\n\n\t\tpublic Style Style\n\t\t{\n\t\t\tget => _metroSetControBox.Style;\n\t\t\tset => _metroSetControBox.Style = value;\n\t\t}\n\n\t\tpublic string ThemeAuthor => _metroSetControBox.ThemeAuthor;\n\n\t\tpublic string ThemeName => _metroSetControBox.ThemeName;\n\n\t\tpublic StyleManager StyleManager\n\t\t{\n\t\t\tget => _metroSetControBox.StyleManager;\n\t\t\tset => _metroSetControBox.StyleManager = value;\n\t\t}\n\n\t\tpublic bool MaximizeBox\n\t\t{\n\t\t\tget => _metroSetControBox.MaximizeBox;\n\t\t\tset => _metroSetControBox.MaximizeBox = value;\n\t\t}\n\n\t\tpublic bool MinimizeBox\n\t\t{\n\t\t\tget => _metroSetControBox.MinimizeBox;\n\t\t\tset => _metroSetControBox.MinimizeBox = value;\n\t\t}\n\n\t\tpublic override DesignerActionItemCollection GetSortedActionItems()\n\t\t{\n\t\t\tDesignerActionItemCollection items = new DesignerActionItemCollection\n\t\t{\n\t\t\tnew DesignerActionHeaderItem(\"MetroSet Framework\"),\n\t\t\tnew DesignerActionPropertyItem(\"StyleManager\", \"StyleManager\", \"MetroSet Framework\", \"Gets or sets the stylemanager for the control.\"),\n\t\t\tnew DesignerActionPropertyItem(\"Style\", \"Style\", \"MetroSet Framework\", \"Gets or sets the style.\"),\n\n\t\t\tnew DesignerActionHeaderItem(\"Informations\"),\n\t\t\tnew DesignerActionPropertyItem(\"ThemeName\", \"ThemeName\", \"Informations\", \"Gets or sets the The Theme name associated with the theme.\"),\n\t\t\tnew DesignerActionPropertyItem(\"ThemeAuthor\", \"ThemeAuthor\", \"Informations\", \"Gets or sets the The Author name associated with the theme.\"),\n\n\t\t\tnew DesignerActionHeaderItem(\"Appearance\"),\n\t\t\tnew DesignerActionPropertyItem(\"MaximizeBox\", \"Enable MaximizeBox\", \"Appearance\", \"Gets or sets a value indicating whether the Maximize button is Enabled in the caption bar of the form.\"),\n\t\t\tnew DesignerActionPropertyItem(\"MinimizeBox\", \"Enable MinimizeBox\", \"Appearance\", \"Gets or sets a value indicating whether the Minimize button is Enabled in the caption bar of the form.\")\n\t\t};\n\n\t\t\treturn items;\n\t\t}\n\t}\n}"
  },
  {
    "path": "MetroSet UI/Actions/MetroSetDefaultButtonActionList.cs",
    "content": "﻿/*\n * MetroSet UI - MetroSet UI Framework\n * \n * The MIT License (MIT)\n * Copyright (c) 2017 Narwin, https://github.com/N-a-r-w-i-n\n * \n * Permission is hereby granted, free of charge, to any person obtaining a copy of \n * this software and associated documentation files (the \"Software\"), to deal in the \n * Software without restriction, including without limitation the rights to use, copy, \n * modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, \n * and to permit persons to whom the Software is furnished to do so, subject to the \n * following conditions:\n * \n * The above copyright notice and this permission notice shall be included in \n * all copies or substantial portions of the Software.\n * \n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, \n * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A \n * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT \n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF \n * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE \n * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nusing System.ComponentModel;\nusing System.ComponentModel.Design;\nusing System.Drawing;\nusing MetroSet_UI.Components;\nusing MetroSet_UI.Controls;\nusing MetroSet_UI.Enums;\n\nnamespace MetroSet_UI.Actions\n{\n\tpublic class MetroSetDefaultButtonActionList : DesignerActionList\n\t{\n\t\tprivate readonly MetroSetDefaultButton _metroSetButton;\n\n\t\tpublic MetroSetDefaultButtonActionList(IComponent component) : base(component)\n\t\t{\n\t\t\t_metroSetButton = (MetroSetDefaultButton)component;\n\t\t}\n\n\t\tpublic Style Style\n\t\t{\n\t\t\tget => _metroSetButton.Style;\n\t\t\tset => _metroSetButton.Style = value;\n\t\t}\n\n\t\tpublic string ThemeAuthor => _metroSetButton.ThemeAuthor;\n\n\t\tpublic string ThemeName => _metroSetButton.ThemeName;\n\n\t\tpublic StyleManager StyleManager\n\t\t{\n\t\t\tget => _metroSetButton.StyleManager;\n\t\t\tset => _metroSetButton.StyleManager = value;\n\t\t}\n\n\t\tpublic string Text\n\t\t{\n\t\t\tget => _metroSetButton.Text;\n\t\t\tset => _metroSetButton.Text = value;\n\t\t}\n\n\t\tpublic Font Font\n\t\t{\n\t\t\tget => _metroSetButton.Font;\n\t\t\tset => _metroSetButton.Font = value;\n\t\t}\n\n\t\tpublic override DesignerActionItemCollection GetSortedActionItems()\n\t\t{\n\t\t\tDesignerActionItemCollection items = new DesignerActionItemCollection\n\t\t{\n\t\t\tnew DesignerActionHeaderItem(\"MetroSet Framework\"),\n\t\t\tnew DesignerActionPropertyItem(\"StyleManager\", \"StyleManager\", \"MetroSet Framework\", \"Gets or sets the stylemanager for the control.\"),\n\t\t\tnew DesignerActionPropertyItem(\"Style\", \"Style\", \"MetroSet Framework\", \"Gets or sets the style.\"),\n\n\t\t\tnew DesignerActionHeaderItem(\"Informations\"),\n\t\t\tnew DesignerActionPropertyItem(\"ThemeName\", \"ThemeName\", \"Informations\", \"Gets or sets the The Theme name associated with the theme.\"),\n\t\t\tnew DesignerActionPropertyItem(\"ThemeAuthor\", \"ThemeAuthor\", \"Informations\", \"Gets or sets the The Author name associated with the theme.\"),\n\n\t\t\tnew DesignerActionHeaderItem(\"Appearance\"),\n\t\t\tnew DesignerActionPropertyItem(\"Text\", \"Text\", \"Appearance\", \"Gets or sets the The text associated with the control.\"),\n\t\t\tnew DesignerActionPropertyItem(\"Font\", \"Font\", \"Appearance\", \"Gets or sets the The font associated with the control.\")\n\t\t};\n\n\t\t\treturn items;\n\t\t}\n\t}\n}"
  },
  {
    "path": "MetroSet UI/Actions/MetroSetDividerActionList.cs",
    "content": "﻿/*\n * MetroSet UI - MetroSet UI Framework\n * \n * The MIT License (MIT)\n * Copyright (c) 2017 Narwin, https://github.com/N-a-r-w-i-n\n * \n * Permission is hereby granted, free of charge, to any person obtaining a copy of \n * this software and associated documentation files (the \"Software\"), to deal in the \n * Software without restriction, including without limitation the rights to use, copy, \n * modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, \n * and to permit persons to whom the Software is furnished to do so, subject to the \n * following conditions:\n * \n * The above copyright notice and this permission notice shall be included in \n * all copies or substantial portions of the Software.\n * \n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, \n * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A \n * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT \n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF \n * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE \n * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nusing System.ComponentModel;\nusing System.ComponentModel.Design;\nusing MetroSet_UI.Components;\nusing MetroSet_UI.Controls;\nusing MetroSet_UI.Enums;\n\nnamespace MetroSet_UI.Actions\n{\n\tinternal class MetroSetDividerActionList : DesignerActionList\n\t{\n\t\tprivate readonly MetroSetDivider _metroSetDivider;\n\n\t\tpublic MetroSetDividerActionList(IComponent component) : base(component)\n\t\t{\n\t\t\t_metroSetDivider = (MetroSetDivider)component;\n\t\t}\n\n\t\tpublic Style Style\n\t\t{\n\t\t\tget => _metroSetDivider.Style;\n\t\t\tset => _metroSetDivider.Style = value;\n\t\t}\n\n\t\tpublic string ThemeAuthor => _metroSetDivider.ThemeAuthor;\n\n\t\tpublic string ThemeName => _metroSetDivider.ThemeName;\n\n\t\tpublic StyleManager StyleManager\n\t\t{\n\t\t\tget => _metroSetDivider.StyleManager;\n\t\t\tset => _metroSetDivider.StyleManager = value;\n\t\t}\n\n\t\tpublic DividerStyle Orientation\n\t\t{\n\t\t\tget => _metroSetDivider.Orientation;\n\t\t\tset => _metroSetDivider.Orientation = value;\n\t\t}\n\n\t\tpublic int Thickness\n\t\t{\n\t\t\tget => _metroSetDivider.Thickness;\n\t\t\tset => _metroSetDivider.Thickness = value;\n\t\t}\n\n\t\tpublic override DesignerActionItemCollection GetSortedActionItems()\n\t\t{\n\t\t\tDesignerActionItemCollection items = new DesignerActionItemCollection\n\t\t{\n\t\t\tnew DesignerActionHeaderItem(\"MetroSet Framework\"),\n\t\t\tnew DesignerActionPropertyItem(\"StyleManager\", \"StyleManager\", \"MetroSet Framework\", \"Gets or sets the stylemanager for the control.\"),\n\t\t\tnew DesignerActionPropertyItem(\"Style\", \"Style\", \"MetroSet Framework\", \"Gets or sets the style.\"),\n\n\t\t\tnew DesignerActionHeaderItem(\"Informations\"),\n\t\t\tnew DesignerActionPropertyItem(\"ThemeName\", \"ThemeName\", \"Informations\", \"Gets or sets the The Theme name associated with the theme.\"),\n\t\t\tnew DesignerActionPropertyItem(\"ThemeAuthor\", \"ThemeAuthor\", \"Informations\", \"Gets or sets the The Author name associated with the theme.\"),\n\n\t\t\tnew DesignerActionHeaderItem(\"Appearance\"),\n\t\t\tnew DesignerActionPropertyItem(\"Orientation\", \"Orientation\", \"Appearance\", \"Gets or sets Orientation of the control.\"),\n\t\t\tnew DesignerActionPropertyItem(\"Thickness\", \"Thickness\", \"Appearance\", \"Gets or sets the divider thickness.\"),\n\t\t\t};\n\n\t\t\treturn items;\n\t\t}\n\t}\n}"
  },
  {
    "path": "MetroSet UI/Actions/MetroSetEllipseActionList.cs",
    "content": "﻿/*\n * MetroSet UI - MetroSet UI Framework\n * \n * The MIT License (MIT)\n * Copyright (c) 2017 Narwin, https://github.com/N-a-r-w-i-n\n * \n * Permission is hereby granted, free of charge, to any person obtaining a copy of \n * this software and associated documentation files (the \"Software\"), to deal in the \n * Software without restriction, including without limitation the rights to use, copy, \n * modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, \n * and to permit persons to whom the Software is furnished to do so, subject to the \n * following conditions:\n * \n * The above copyright notice and this permission notice shall be included in \n * all copies or substantial portions of the Software.\n * \n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, \n * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A \n * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT \n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF \n * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE \n * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nusing System.ComponentModel;\nusing System.ComponentModel.Design;\nusing System.Drawing;\nusing MetroSet_UI.Components;\nusing MetroSet_UI.Controls;\nusing MetroSet_UI.Enums;\n\nnamespace MetroSet_UI.Actions\n{\n\tpublic class MetroSetEllipseActionList : DesignerActionList\n\t{\n\t\tprivate readonly MetroSetEllipse _metroSetEllipse;\n\n\t\tpublic MetroSetEllipseActionList(IComponent component) : base(component)\n\t\t{\n\t\t\t_metroSetEllipse = (MetroSetEllipse)component;\n\t\t}\n\n\t\tpublic Style Style\n\t\t{\n\t\t\tget => _metroSetEllipse.Style;\n\t\t\tset => _metroSetEllipse.Style = value;\n\t\t}\n\n\t\tpublic string ThemeAuthor => _metroSetEllipse.ThemeAuthor;\n\n\t\tpublic string ThemeName => _metroSetEllipse.ThemeName;\n\n\t\tpublic StyleManager StyleManager\n\t\t{\n\t\t\tget => _metroSetEllipse.StyleManager;\n\t\t\tset => _metroSetEllipse.StyleManager = value;\n\t\t}\n\n\t\tpublic string Text\n\t\t{\n\t\t\tget => _metroSetEllipse.Text;\n\t\t\tset => _metroSetEllipse.Text = value;\n\t\t}\n\n\t\tpublic Font Font\n\t\t{\n\t\t\tget => _metroSetEllipse.Font;\n\t\t\tset => _metroSetEllipse.Font = value;\n\t\t}\n\n\t\tpublic int BorderThickness\n\t\t{\n\t\t\tget => _metroSetEllipse.BorderThickness;\n\t\t\tset => _metroSetEllipse.BorderThickness = value;\n\t\t}\n\t\tpublic Size ImageSize\n\t\t{\n\t\t\tget => _metroSetEllipse.ImageSize;\n\t\t\tset => _metroSetEllipse.ImageSize = value;\n\t\t}\n\t\tpublic Image Image\n\t\t{\n\t\t\tget => _metroSetEllipse.Image;\n\t\t\tset => _metroSetEllipse.Image = value;\n\t\t}\n\n\t\tpublic override DesignerActionItemCollection GetSortedActionItems()\n\t\t{\n\t\t\tDesignerActionItemCollection items = new DesignerActionItemCollection\n\t\t{\n\t\t\tnew DesignerActionHeaderItem(\"MetroSet Framework\"),\n\t\t\tnew DesignerActionPropertyItem(\"StyleManager\", \"StyleManager\", \"MetroSet Framework\", \"Gets or sets the stylemanager for the control.\"),\n\t\t\tnew DesignerActionPropertyItem(\"Style\", \"Style\", \"MetroSet Framework\", \"Gets or sets the style.\"),\n\n\t\t\tnew DesignerActionHeaderItem(\"Informations\"),\n\t\t\tnew DesignerActionPropertyItem(\"ThemeName\", \"ThemeName\", \"Informations\", \"Gets or sets the The Theme name associated with the theme.\"),\n\t\t\tnew DesignerActionPropertyItem(\"ThemeAuthor\", \"ThemeAuthor\", \"Informations\", \"Gets or sets the The Author name associated with the theme.\"),\n\n\t\t\tnew DesignerActionHeaderItem(\"Appearance\"),\n\t\t\tnew DesignerActionPropertyItem(\"Text\", \"Text\", \"Appearance\", \"Gets or sets the The text associated with the control.\"),\n\t\t\tnew DesignerActionPropertyItem(\"Font\", \"Font\", \"Appearance\", \"Gets or sets the The font associated with the control.\"),\n\t\t\tnew DesignerActionPropertyItem(\"BorderThickness\", \"BorderThickness\", \"Appearance\", \"Gets or sets the border thickness associated with the control.\"),\n\t\t\tnew DesignerActionPropertyItem(\"Image\", \"Image\", \"Appearance\", \"Gets or sets the image associated with the control.\"),\n\t\t\tnew DesignerActionPropertyItem(\"ImageSize\", \"ImageSize\", \"Appearance\", \"Gets or sets the image size associated with the control.\"),\n\t\t\t};\n\n\t\t\treturn items;\n\t\t}\n\t}\n}"
  },
  {
    "path": "MetroSet UI/Actions/MetroSetLabelActionList.cs",
    "content": "﻿using System.ComponentModel;\nusing System.ComponentModel.Design;\nusing System.Drawing;\nusing MetroSet_UI.Components;\nusing MetroSet_UI.Controls;\nusing MetroSet_UI.Enums;\n\n/*\n * MetroSet UI - MetroSet UI Framework\n * \n * The MIT License (MIT)\n * Copyright (c) 2017 Narwin, https://github.com/N-a-r-w-i-n\n * \n * Permission is hereby granted, free of charge, to any person obtaining a copy of \n * this software and associated documentation files (the \"Software\"), to deal in the \n * Software without restriction, including without limitation the rights to use, copy, \n * modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, \n * and to permit persons to whom the Software is furnished to do so, subject to the \n * following conditions:\n * \n * The above copyright notice and this permission notice shall be included in \n * all copies or substantial portions of the Software.\n * \n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, \n * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A \n * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT \n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF \n * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE \n * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nnamespace MetroSet_UI.Actions\n{\n\tclass MetroSetLabelActionList : DesignerActionList\n\t{\n\t\tprivate readonly MetroSetLabel _metroSetLabel;\n\n\t\tpublic MetroSetLabelActionList(IComponent component) : base(component)\n\t\t{\n\t\t\t_metroSetLabel = (MetroSetLabel)component;\n\t\t}\n\n\t\tpublic Style Style\n\t\t{\n\t\t\tget => _metroSetLabel.Style;\n\t\t\tset => _metroSetLabel.Style = value;\n\t\t}\n\n\t\tpublic string ThemeAuthor => _metroSetLabel.ThemeAuthor;\n\n\t\tpublic string ThemeName => _metroSetLabel.ThemeName;\n\n\t\tpublic StyleManager StyleManager\n\t\t{\n\t\t\tget => _metroSetLabel.StyleManager;\n\t\t\tset => _metroSetLabel.StyleManager = value;\n\t\t}\n\n\t\tpublic string Text\n\t\t{\n\t\t\tget => _metroSetLabel.Text;\n\t\t\tset => _metroSetLabel.Text = value;\n\t\t}\n\n\t\tpublic Font Font\n\t\t{\n\t\t\tget => _metroSetLabel.Font;\n\t\t\tset => _metroSetLabel.Font = value;\n\t\t}\n\n\t\tpublic override DesignerActionItemCollection GetSortedActionItems()\n\t\t{\n\t\t\tDesignerActionItemCollection items = new DesignerActionItemCollection\n\t\t{\n\t\t\tnew DesignerActionHeaderItem(\"MetroSet Framework\"),\n\t\t\tnew DesignerActionPropertyItem(\"StyleManager\", \"StyleManager\", \"MetroSet Framework\", \"Gets or sets the stylemanager for the control.\"),\n\t\t\tnew DesignerActionPropertyItem(\"Style\", \"Style\", \"MetroSet Framework\", \"Gets or sets the style.\"),\n\n\t\t\tnew DesignerActionHeaderItem(\"Informations\"),\n\t\t\tnew DesignerActionPropertyItem(\"ThemeName\", \"ThemeName\", \"Informations\", \"Gets or sets the The Theme name associated with the theme.\"),\n\t\t\tnew DesignerActionPropertyItem(\"ThemeAuthor\", \"ThemeAuthor\", \"Informations\", \"Gets or sets the The Author name associated with the theme.\"),\n\n\t\t\tnew DesignerActionHeaderItem(\"Appearance\"),\n\t\t\tnew DesignerActionPropertyItem(\"Text\", \"Text\", \"Appearance\", \"Gets or sets the The text associated with the control.\"),\n\t\t\tnew DesignerActionPropertyItem(\"Font\", \"Font\", \"Appearance\", \"Gets or sets the The font associated with the control.\")\n\t\t};\n\n\t\t\treturn items;\n\t\t}\n\t}\n}\n"
  },
  {
    "path": "MetroSet UI/Actions/MetroSetLinkActionList.cs",
    "content": "﻿/*\n * MetroSet UI - MetroSet UI Framework\n * \n * The MIT License (MIT)\n * Copyright (c) 2017 Narwin, https://github.com/N-a-r-w-i-n\n * \n * Permission is hereby granted, free of charge, to any person obtaining a copy of \n * this software and associated documentation files (the \"Software\"), to deal in the \n * Software without restriction, including without limitation the rights to use, copy, \n * modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, \n * and to permit persons to whom the Software is furnished to do so, subject to the \n * following conditions:\n * \n * The above copyright notice and this permission notice shall be included in \n * all copies or substantial portions of the Software.\n * \n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, \n * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A \n * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT \n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF \n * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE \n * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nusing System.ComponentModel;\nusing System.ComponentModel.Design;\nusing System.Drawing;\nusing System.Windows.Forms;\nusing MetroSet_UI.Components;\nusing MetroSet_UI.Controls;\nusing MetroSet_UI.Enums;\nusing static System.Windows.Forms.LinkLabel;\n\nnamespace MetroSet_UI.Actions\n{\n\tclass MetroSetLinkActionList : DesignerActionList\n\t{\n\t\tprivate readonly MetroSetLink _metroSetLink;\n\n\t\tpublic MetroSetLinkActionList(IComponent component) : base(component)\n\t\t{\n\t\t\t_metroSetLink = (MetroSetLink)component;\n\t\t}\n\n\t\tpublic Style Style\n\t\t{\n\t\t\tget => _metroSetLink.Style;\n\t\t\tset => _metroSetLink.Style = value;\n\t\t}\n\n\t\tpublic string ThemeAuthor => _metroSetLink.ThemeAuthor;\n\n\t\tpublic string ThemeName => _metroSetLink.ThemeName;\n\n\t\tpublic StyleManager StyleManager\n\t\t{\n\t\t\tget => _metroSetLink.StyleManager;\n\t\t\tset => _metroSetLink.StyleManager = value;\n\t\t}\n\n\t\tpublic string Text\n\t\t{\n\t\t\tget => _metroSetLink.Text;\n\t\t\tset => _metroSetLink.Text = value;\n\t\t}\n\n\t\tpublic Font Font\n\t\t{\n\t\t\tget => _metroSetLink.Font;\n\t\t\tset => _metroSetLink.Font = value;\n\t\t}\n\n\t\tpublic LinkBehavior LinkBehaviour\n\t\t{\n\t\t\tget => _metroSetLink.LinkBehavior;\n\t\t\tset => _metroSetLink.LinkBehavior = value;\n\t\t}\n\n\t\tpublic Color LinkColor\n\t\t{\n\t\t\tget => _metroSetLink.LinkColor;\n\t\t\tset => _metroSetLink.LinkColor = value;\n\t\t}\n\n\t\tpublic Color ActiveLinkColor\n\t\t{\n\t\t\tget => _metroSetLink.ActiveLinkColor;\n\t\t\tset => _metroSetLink.ActiveLinkColor = value;\n\t\t}\n\n\t\tpublic Color VisitedLinkColor\n\t\t{\n\t\t\tget => _metroSetLink.VisitedLinkColor;\n\t\t\tset => _metroSetLink.VisitedLinkColor = value;\n\t\t}\n\n\t\tpublic bool LinkVisited\n\t\t{\n\t\t\tget => _metroSetLink.LinkVisited;\n\t\t\tset => _metroSetLink.LinkVisited = value;\n\t\t}\n\n\t\tpublic LinkCollection Links => _metroSetLink.Links;\n\n\t\tpublic override DesignerActionItemCollection GetSortedActionItems()\n\t\t{\n\t\t\tDesignerActionItemCollection items = new DesignerActionItemCollection\n\t\t{\n\t\t\tnew DesignerActionHeaderItem(\"MetroSet Framework\"),\n\t\t\tnew DesignerActionPropertyItem(\"StyleManager\", \"StyleManager\", \"MetroSet Framework\", \"Gets or sets the stylemanager for the control.\"),\n\t\t\tnew DesignerActionPropertyItem(\"Style\", \"Style\", \"MetroSet Framework\", \"Gets or sets the style.\"),\n\n\t\t\tnew DesignerActionHeaderItem(\"Informations\"),\n\t\t\tnew DesignerActionPropertyItem(\"ThemeName\", \"ThemeName\", \"Informations\", \"Gets or sets the The Theme name associated with the theme.\"),\n\t\t\tnew DesignerActionPropertyItem(\"ThemeAuthor\", \"ThemeAuthor\", \"Informations\", \"Gets or sets the The Author name associated with the theme.\"),\n\n\t\t\tnew DesignerActionHeaderItem(\"Appearance\"),\n\t\t\tnew DesignerActionPropertyItem(\"Text\", \"Text\", \"Appearance\", \"Gets or sets the The text associated with the control.\"),\n\t\t\tnew DesignerActionPropertyItem(\"Font\", \"Font\", \"Appearance\", \"Gets or sets the The font associated with the control.\"),\n\t\t\tnew DesignerActionPropertyItem(\"LinkVisited\", \"LinkVisited\", \"Appearance\", \"Gets or sets a value indicating whether a link should be displayed as though it were visited.\"),\n\t\t\tnew DesignerActionPropertyItem(\"LinkColor\", \"LinkColor\", \"Appearance\", \"Gets or sets the color used when displaying a normal link.\"),\n\t\t\tnew DesignerActionPropertyItem(\"ActiveLinkColor\", \"ActiveLinkColor\", \"Appearance\", \"Gets or sets the color used to display an active link.\"),\n\t\t\tnew DesignerActionPropertyItem(\"VisitedLinkColor\", \"VisitedLinkColor\", \"Appearance\", \"Gets or sets the color used when displaying a link that that has been previously visited.\"),\n\n\t\t\tnew DesignerActionHeaderItem(\"Behaviour\"),\n\t\t\tnew DesignerActionPropertyItem(\"LinkBehaviour\", \"LinkBehaviour\", \"Behaviour\", \"Gets or sets a value that represents the behavior of a link.\"),\n\t\t\tnew DesignerActionPropertyItem(\"Links\", \"Links\", \"Behaviour\", \"Gets the collection of links contained within the LinkLabel.\")\n\t\t\t};\n\n\t\t\treturn items;\n\t\t}\n\n\t}\n}\n"
  },
  {
    "path": "MetroSet UI/Actions/MetroSetListBoxActionList.cs",
    "content": "﻿using System.ComponentModel;\nusing System.ComponentModel.Design;\nusing MetroSet_UI.Child;\nusing MetroSet_UI.Components;\nusing MetroSet_UI.Controls;\nusing MetroSet_UI.Enums;\n\n/*\n * MetroSet UI - MetroSet UI Framework\n *\n * The MIT License (MIT)\n * Copyright (c) 2017 Narwin, https://github.com/N-a-r-w-i-n\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\n * this software and associated documentation files (the \"Software\"), to deal in the\n * Software without restriction, including without limitation the rights to use, copy,\n * modify, merge, publish, distribute, sublicense, and/or sell copies of the Software,\n * and to permit persons to whom the Software is furnished to do so, subject to the\n * following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,\n * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A\n * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF\n * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE\n * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nnamespace MetroSet_UI.Actions\n{\n    internal class MetroSetListBoxActionList : DesignerActionList\n    {\n        private readonly MetroSetListBox _metroSetListBox;\n\n        public MetroSetListBoxActionList(IComponent component) : base(component)\n        {\n            _metroSetListBox = (MetroSetListBox)component;\n        }\n\n        public Style Style\n        {\n            get => _metroSetListBox.Style;\n            set => _metroSetListBox.Style = value;\n        }\n\n        public string ThemeAuthor => _metroSetListBox.ThemeAuthor;\n\n        public string ThemeName => _metroSetListBox.ThemeName;\n\n        public StyleManager StyleManager\n        {\n            get => _metroSetListBox.StyleManager;\n            set => _metroSetListBox.StyleManager = value;\n        }\n\n        [TypeConverter(typeof(CollectionConverter))]\n        [DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]\n        [Editor(\"System.Windows.Forms.Design.StringCollectionEditor, System.Design\", \"System.Drawing.Design.UITypeEditor, System.Drawing\")]\n        public MetroSetItemCollection Items => _metroSetListBox.Items;\n\n        public int ItemHeight\n        {\n            get => _metroSetListBox.ItemHeight;\n            set => _metroSetListBox.ItemHeight = value;\n        }\n\n        public bool MultiSelect\n        {\n            get => _metroSetListBox.MultiSelect;\n            set => _metroSetListBox.MultiSelect = value;\n        }\n\n        public bool ShowScrollBar\n        {\n            get => _metroSetListBox.ShowScrollBar;\n            set => _metroSetListBox.ShowScrollBar = value;\n        }\n\n        public bool ShowBorder\n        {\n            get => _metroSetListBox.ShowBorder;\n            set => _metroSetListBox.ShowBorder = value;\n        }\n\n        public override DesignerActionItemCollection GetSortedActionItems()\n        {\n            DesignerActionItemCollection items = new DesignerActionItemCollection\n        {\n            new DesignerActionHeaderItem(\"MetroSet Framework\"),\n            new DesignerActionPropertyItem(\"StyleManager\", \"StyleManager\", \"MetroSet Framework\", \"Gets or sets the stylemanager for the control.\"),\n            new DesignerActionPropertyItem(\"Style\", \"Style\", \"MetroSet Framework\", \"Gets or sets the style.\"),\n\n            new DesignerActionHeaderItem(\"Informations\"),\n            new DesignerActionPropertyItem(\"ThemeName\", \"ThemeName\", \"Informations\", \"Gets or sets the The Theme name associated with the theme.\"),\n            new DesignerActionPropertyItem(\"ThemeAuthor\", \"ThemeAuthor\", \"Informations\", \"Gets or sets the The Author name associated with the theme.\"),\n\n            new DesignerActionHeaderItem(\"Appearance\"),\n            new DesignerActionPropertyItem(\"Items\", \"Items\", \"Appearance\", \"Gets the items of the ListBox.\"),\n            new DesignerActionPropertyItem(\"ItemHeight\", \"ItemHeight\", \"Appearance\", \"Gets or sets the height of an item in the ListBox.\"),\n            new DesignerActionPropertyItem(\"MultiSelect\", \"MultiSelect\", \"Appearance\", \"Gets or sets a value indicating whether the ListBox supports multiple rows.\"),\n            new DesignerActionPropertyItem(\"ShowScrollBar\", \"ShowScrollBar\", \"Appearance\", \"Gets or sets a value indicating whether the vertical scroll bar is shown or not.\"),\n            new DesignerActionPropertyItem(\"ShowBorder\", \"ShowBorder\", \"Appearance\", \"Gets or sets a value indicating whether the border shown or not.\"),\n        };\n\n            return items;\n        }\n    }\n}"
  },
  {
    "path": "MetroSet UI/Actions/MetroSetNumericActionList.cs",
    "content": "﻿using System.ComponentModel;\nusing System.ComponentModel.Design;\nusing MetroSet_UI.Components;\nusing MetroSet_UI.Controls;\nusing MetroSet_UI.Enums;\n\n/*\n * MetroSet UI - MetroSet UI Framework\n *\n * The MIT License (MIT)\n * Copyright (c) 2017 Narwin, https://github.com/N-a-r-w-i-n\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\n * this software and associated documentation files (the \"Software\"), to deal in the\n * Software without restriction, including without limitation the rights to use, copy,\n * modify, merge, publish, distribute, sublicense, and/or sell copies of the Software,\n * and to permit persons to whom the Software is furnished to do so, subject to the\n * following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,\n * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A\n * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF\n * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE\n * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nnamespace MetroSet_UI.Actions\n{\n\tinternal class MetroSetNumericActionList : DesignerActionList\n\t{\n\t\tprivate readonly MetroSetNumeric _metroSetNumeric;\n\n\t\tpublic MetroSetNumericActionList(IComponent component) : base(component)\n\t\t{\n\t\t\t_metroSetNumeric = (MetroSetNumeric)component;\n\t\t}\n\n\t\tpublic Style Style\n\t\t{\n\t\t\tget => _metroSetNumeric.Style;\n\t\t\tset => _metroSetNumeric.Style = value;\n\t\t}\n\n\t\tpublic string ThemeAuthor => _metroSetNumeric.ThemeAuthor;\n\n\t\tpublic string ThemeName => _metroSetNumeric.ThemeName;\n\n\t\tpublic StyleManager StyleManager\n\t\t{\n\t\t\tget => _metroSetNumeric.StyleManager;\n\t\t\tset => _metroSetNumeric.StyleManager = value;\n\t\t}\n\n\t\tpublic int Maximum\n\t\t{\n\t\t\tget => _metroSetNumeric.Maximum;\n\t\t\tset => _metroSetNumeric.Maximum = value;\n\t\t}\n\n\t\tpublic int Minimum\n\t\t{\n\t\t\tget => _metroSetNumeric.Minimum;\n\t\t\tset => _metroSetNumeric.Minimum = value;\n\t\t}\n\n\t\tpublic int Value\n\t\t{\n\t\t\tget => _metroSetNumeric.Value;\n\t\t\tset => _metroSetNumeric.Value = value;\n\t\t}\n\n\t\tpublic override DesignerActionItemCollection GetSortedActionItems()\n\t\t{\n\t\t\tDesignerActionItemCollection items = new DesignerActionItemCollection\n\t\t{\n\t\t\tnew DesignerActionHeaderItem(\"MetroSet Framework\"),\n\t\t\tnew DesignerActionPropertyItem(\"StyleManager\", \"StyleManager\", \"MetroSet Framework\", \"Gets or sets the stylemanager for the control.\"),\n\t\t\tnew DesignerActionPropertyItem(\"Style\", \"Style\", \"MetroSet Framework\", \"Gets or sets the style.\"),\n\n\t\t\tnew DesignerActionHeaderItem(\"Informations\"),\n\t\t\tnew DesignerActionPropertyItem(\"ThemeName\", \"ThemeName\", \"Informations\", \"Gets or sets the The Theme name associated with the theme.\"),\n\t\t\tnew DesignerActionPropertyItem(\"ThemeAuthor\", \"ThemeAuthor\", \"Informations\", \"Gets or sets the The Author name associated with the theme.\"),\n\n\t\t\tnew DesignerActionHeaderItem(\"Appearance\"),\n\t\t\tnew DesignerActionPropertyItem(\"Value\", \"Value\", \"Appearance\", \"Gets or sets the current number of the Numeric.\"),\n\t\t\tnew DesignerActionPropertyItem(\"Minimum\", \"Minimum\", \"Appearance\", \"Gets or sets the minimum number of the Numeric.\"),\n\t\t\tnew DesignerActionPropertyItem(\"Maximum\", \"Maximum\", \"Appearance\", \"Gets or sets the maximum number of the Numeric.\"),\n\t\t};\n\n\t\t\treturn items;\n\t\t}\n\t}\n}"
  },
  {
    "path": "MetroSet UI/Actions/MetroSetProgressBarActionList.cs",
    "content": "﻿/*\n * MetroSet UI - MetroSet UI Framework\n * \n * The MIT License (MIT)\n * Copyright (c) 2017 Narwin, https://github.com/N-a-r-w-i-n\n * \n * Permission is hereby granted, free of charge, to any person obtaining a copy of \n * this software and associated documentation files (the \"Software\"), to deal in the \n * Software without restriction, including without limitation the rights to use, copy, \n * modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, \n * and to permit persons to whom the Software is furnished to do so, subject to the \n * following conditions:\n * \n * The above copyright notice and this permission notice shall be included in \n * all copies or substantial portions of the Software.\n * \n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, \n * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A \n * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT \n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF \n * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE \n * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nusing System.ComponentModel;\nusing System.ComponentModel.Design;\nusing MetroSet_UI.Components;\nusing MetroSet_UI.Controls;\nusing MetroSet_UI.Enums;\n\nnamespace MetroSet_UI.Actions\n{\n\tinternal class MetroSetProgressBarActionList : DesignerActionList\n\t{\n\t\tprivate readonly MetroSetProgressBar _metroSetProgressBar;\n\n\t\tpublic MetroSetProgressBarActionList(IComponent component) : base(component)\n\t\t{\n\t\t\t_metroSetProgressBar = (MetroSetProgressBar)component;\n\t\t}\n\n\t\tpublic Style Style\n\t\t{\n\t\t\tget => _metroSetProgressBar.Style;\n\t\t\tset => _metroSetProgressBar.Style = value;\n\t\t}\n\n\t\tpublic string ThemeAuthor => _metroSetProgressBar.ThemeAuthor;\n\n\t\tpublic string ThemeName => _metroSetProgressBar.ThemeName;\n\n\t\tpublic StyleManager StyleManager\n\t\t{\n\t\t\tget => _metroSetProgressBar.StyleManager;\n\t\t\tset => _metroSetProgressBar.StyleManager = value;\n\t\t}\n\n\t\tpublic int Value\n\t\t{\n\t\t\tget => _metroSetProgressBar.Value;\n\t\t\tset => _metroSetProgressBar.Value = value;\n\t\t}\n\n\t\tpublic int Maximum\n\t\t{\n\t\t\tget => _metroSetProgressBar.Maximum;\n\t\t\tset => _metroSetProgressBar.Maximum = value;\n\t\t}\n\n\t\tpublic int Minimum\n\t\t{\n\t\t\tget => _metroSetProgressBar.Minimum;\n\t\t\tset => _metroSetProgressBar.Minimum = value;\n\t\t}\n\n\t\tpublic override DesignerActionItemCollection GetSortedActionItems()\n\t\t{\n\t\t\tDesignerActionItemCollection items = new DesignerActionItemCollection\n\t\t{\n\t\t\tnew DesignerActionHeaderItem(\"MetroSet Framework\"),\n\t\t\tnew DesignerActionPropertyItem(\"StyleManager\", \"StyleManager\", \"MetroSet Framework\", \"Gets or sets the stylemanager for the control.\"),\n\t\t\tnew DesignerActionPropertyItem(\"Style\", \"Style\", \"MetroSet Framework\", \"Gets or sets the style.\"),\n\n\t\t\tnew DesignerActionHeaderItem(\"Informations\"),\n\t\t\tnew DesignerActionPropertyItem(\"ThemeName\", \"ThemeName\", \"Informations\", \"Gets or sets the The Theme name associated with the theme.\"),\n\t\t\tnew DesignerActionPropertyItem(\"ThemeAuthor\", \"ThemeAuthor\", \"Informations\", \"Gets or sets the The Author name associated with the theme.\"),\n\n\t\t\tnew DesignerActionHeaderItem(\"Appearance\"),\n\t\t\tnew DesignerActionPropertyItem(\"Minimum\", \"Minimum\", \"Appearance\", \"Gets or sets the minimum value of the progressbar.\"),\n\t\t\tnew DesignerActionPropertyItem(\"Maximum\", \"Maximum\", \"Appearance\", \"Gets or sets the maximum value of the progressbar.\"),\n\t\t\tnew DesignerActionPropertyItem(\"Value\", \"Value\", \"Appearance\", \"Gets or sets the current position of the progressbar.\"),\n\t\t};\n\n\t\t\treturn items;\n\t\t}\n\t}\n}"
  },
  {
    "path": "MetroSet UI/Actions/MetroSetRadiobuttonActionList.cs",
    "content": "﻿/*\n * MetroSet UI - MetroSet UI Framework\n * \n * The MIT License (MIT)\n * Copyright (c) 2017 Narwin, https://github.com/N-a-r-w-i-n\n * \n * Permission is hereby granted, free of charge, to any person obtaining a copy of \n * this software and associated documentation files (the \"Software\"), to deal in the \n * Software without restriction, including without limitation the rights to use, copy, \n * modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, \n * and to permit persons to whom the Software is furnished to do so, subject to the \n * following conditions:\n * \n * The above copyright notice and this permission notice shall be included in \n * all copies or substantial portions of the Software.\n * \n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, \n * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A \n * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT \n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF \n * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE \n * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nusing System.ComponentModel;\nusing System.ComponentModel.Design;\nusing MetroSet_UI.Components;\nusing MetroSet_UI.Controls;\nusing MetroSet_UI.Enums;\n\nnamespace MetroSet_UI.Actions\n{\n\tinternal class MetroSetCheckBoxActionList : DesignerActionList\n\t{\n\t\tprivate readonly MetroSetCheckBox _metroSetCheckBox;\n\n\t\tpublic MetroSetCheckBoxActionList(IComponent component) : base(component)\n\t\t{\n\t\t\t_metroSetCheckBox = (MetroSetCheckBox)component;\n\t\t}\n\n\t\tpublic Style Style\n\t\t{\n\t\t\tget => _metroSetCheckBox.Style;\n\t\t\tset => _metroSetCheckBox.Style = value;\n\t\t}\n\n\t\tpublic string ThemeAuthor => _metroSetCheckBox.ThemeAuthor;\n\n\t\tpublic string ThemeName => _metroSetCheckBox.ThemeName;\n\n\t\tpublic StyleManager StyleManager\n\t\t{\n\t\t\tget => _metroSetCheckBox.StyleManager;\n\t\t\tset => _metroSetCheckBox.StyleManager = value;\n\t\t}\n\n\t\tpublic string Text\n\t\t{\n\t\t\tget => _metroSetCheckBox.Text;\n\t\t\tset => _metroSetCheckBox.Text = value;\n\t\t}\n\n\t\tpublic bool Checked\n\t\t{\n\t\t\tget => _metroSetCheckBox.Checked;\n\t\t\tset => _metroSetCheckBox.Checked = value;\n\t\t}\n\n\t\tpublic SignStyle SignStyle\n\t\t{\n\t\t\tget => _metroSetCheckBox.SignStyle;\n\t\t\tset => _metroSetCheckBox.SignStyle = value;\n\t\t}\n\n\t\tpublic override DesignerActionItemCollection GetSortedActionItems()\n\t\t{\n\t\t\tDesignerActionItemCollection items = new DesignerActionItemCollection\n\t\t{\n\t\t\tnew DesignerActionHeaderItem(\"MetroSet Framework\"),\n\t\t\tnew DesignerActionPropertyItem(\"StyleManager\", \"StyleManager\", \"MetroSet Framework\", \"Gets or sets the stylemanager for the control.\"),\n\t\t\tnew DesignerActionPropertyItem(\"Style\", \"Style\", \"MetroSet Framework\", \"Gets or sets the style.\"),\n\n\t\t\tnew DesignerActionHeaderItem(\"Informations\"),\n\t\t\tnew DesignerActionPropertyItem(\"ThemeName\", \"ThemeName\", \"Informations\", \"Gets or sets the The Theme name associated with the theme.\"),\n\t\t\tnew DesignerActionPropertyItem(\"ThemeAuthor\", \"ThemeAuthor\", \"Informations\", \"Gets or sets the The Author name associated with the theme.\"),\n\n\t\t\tnew DesignerActionHeaderItem(\"Appearance\"),\n\t\t\tnew DesignerActionPropertyItem(\"Text\", \"Text\", \"Appearance\", \"Gets or sets the The text associated with the control.\"),\n\t\t\tnew DesignerActionPropertyItem(\"Checked\", \"Checked\", \"Appearance\", \"Gets or sets a value indicating whether the control is checked.\"),\n\t\t\tnew DesignerActionPropertyItem(\"SignStyle\", \"SignStyle\", \"Appearance\", \"Gets or sets the the sign style of check.\")\n\t\t};\n\n\t\t\treturn items;\n\t\t}\n\t}\n}"
  },
  {
    "path": "MetroSet UI/Actions/MetroSetRichTextBoxActionList.cs",
    "content": "﻿/*\n * MetroSet UI - MetroSet UI Framework\n * \n * The MIT License (MIT)\n * Copyright (c) 2017 Narwin, https://github.com/N-a-r-w-i-n\n * \n * Permission is hereby granted, free of charge, to any person obtaining a copy of \n * this software and associated documentation files (the \"Software\"), to deal in the \n * Software without restriction, including without limitation the rights to use, copy, \n * modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, \n * and to permit persons to whom the Software is furnished to do so, subject to the \n * following conditions:\n * \n * The above copyright notice and this permission notice shall be included in \n * all copies or substantial portions of the Software.\n * \n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, \n * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A \n * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT \n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF \n * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE \n * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nusing System.ComponentModel;\nusing System.ComponentModel.Design;\nusing System.Drawing;\nusing System.Windows.Forms;\nusing MetroSet_UI.Components;\nusing MetroSet_UI.Controls;\nusing MetroSet_UI.Enums;\n\nnamespace MetroSet_UI.Actions\n{\n\tinternal class MetroSetRichTextBoxActionList : DesignerActionList\n\t{\n\t\tprivate readonly MetroSetRichTextBox _metroSetRichTextBox;\n\n\t\tpublic MetroSetRichTextBoxActionList(IComponent component) : base(component)\n\t\t{\n\t\t\t_metroSetRichTextBox = (MetroSetRichTextBox)component;\n\t\t}\n\n\t\tpublic Style Style\n\t\t{\n\t\t\tget => _metroSetRichTextBox.Style;\n\t\t\tset => _metroSetRichTextBox.Style = value;\n\t\t}\n\n\t\tpublic string ThemeAuthor => _metroSetRichTextBox.ThemeAuthor;\n\n\t\tpublic string ThemeName => _metroSetRichTextBox.ThemeName;\n\n\t\tpublic StyleManager StyleManager\n\t\t{\n\t\t\tget => _metroSetRichTextBox.StyleManager;\n\t\t\tset => _metroSetRichTextBox.StyleManager = value;\n\t\t}\n\n\t\tpublic string Text\n\t\t{\n\t\t\tget => _metroSetRichTextBox.Text;\n\t\t\tset => _metroSetRichTextBox.Text = value;\n\t\t}\n\n\t\tpublic Font Font\n\t\t{\n\t\t\tget => _metroSetRichTextBox.Font;\n\t\t\tset => _metroSetRichTextBox.Font = value;\n\t\t}\n\n\t\tpublic bool ReadOnly\n\t\t{\n\t\t\tget => _metroSetRichTextBox.ReadOnly;\n\t\t\tset => _metroSetRichTextBox.ReadOnly = value;\n\t\t}\n\n\t\tpublic ContextMenuStrip ContextMenuStrip\n\t\t{\n\t\t\tget => _metroSetRichTextBox.ContextMenuStrip;\n\t\t\tset => _metroSetRichTextBox.ContextMenuStrip = value;\n\t\t}\n\n\t\tpublic override DesignerActionItemCollection GetSortedActionItems()\n\t\t{\n\t\t\tDesignerActionItemCollection items = new DesignerActionItemCollection\n\t\t{\n\t\t\tnew DesignerActionHeaderItem(\"MetroSet Framework\"),\n\t\t\tnew DesignerActionPropertyItem(\"StyleManager\", \"StyleManager\", \"MetroSet Framework\", \"Gets or sets the stylemanager for the control.\"),\n\t\t\tnew DesignerActionPropertyItem(\"Style\", \"Style\", \"MetroSet Framework\", \"Gets or sets the style.\"),\n\n\t\t\tnew DesignerActionHeaderItem(\"Informations\"),\n\t\t\tnew DesignerActionPropertyItem(\"ThemeName\", \"ThemeName\", \"Informations\", \"Gets or sets the The Theme name associated with the theme.\"),\n\t\t\tnew DesignerActionPropertyItem(\"ThemeAuthor\", \"ThemeAuthor\", \"Informations\", \"Gets or sets the The Author name associated with the theme.\"),\n\n\t\t\tnew DesignerActionHeaderItem(\"Appearance\"),\n\t\t\tnew DesignerActionPropertyItem(\"Text\", \"Text\", \"Appearance\", \"Gets or sets the The text associated with the control.\"),\n\t\t\tnew DesignerActionPropertyItem(\"Font\", \"Font\", \"Appearance\", \"Gets or sets the The font associated with the control.\"),\n\t\t\tnew DesignerActionPropertyItem(\"ReadOnly\", \"ReadOnly\", \"Appearance\", \"Gets or sets a value indicating whether text in the rich text box is read-only.\"),\n\t\t\tnew DesignerActionPropertyItem(\"ContextMenuStrip\", \"ContextMenuStrip\", \"Appearance\", \"Gets or sets the ContextMenuStrip associated with this control.\"),\n\t\t};\n\n\t\t\treturn items;\n\t\t}\n\t}\n}"
  },
  {
    "path": "MetroSet UI/Actions/MetroSetScrollBarActionList.cs",
    "content": "﻿using System.ComponentModel;\nusing System.ComponentModel.Design;\nusing MetroSet_UI.Components;\nusing MetroSet_UI.Controls;\nusing MetroSet_UI.Enums; /*\n * MetroSet UI - MetroSet UI Framework\n * \n * The MIT License (MIT)\n * Copyright (c) 2017 Narwin, https://github.com/N-a-r-w-i-n\n * \n * Permission is hereby granted, free of charge, to any person obtaining a copy of \n * this software and associated documentation files (the \"Software\"), to deal in the \n * Software without restriction, including without limitation the rights to use, copy, \n * modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, \n * and to permit persons to whom the Software is furnished to do so, subject to the \n * following conditions:\n * \n * The above copyright notice and this permission notice shall be included in \n * all copies or substantial portions of the Software.\n * \n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, \n * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A \n * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT \n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF \n * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE \n * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nnamespace MetroSet_UI.Actions\n{\n\tclass MetroSetScrollBarActionList : DesignerActionList\n\t{\n\t\tprivate readonly MetroSetScrollBar _metroSetScrollBar;\n\n\t\tpublic MetroSetScrollBarActionList(IComponent component) : base(component)\n\t\t{\n\t\t\t_metroSetScrollBar = (MetroSetScrollBar)component;\n\t\t}\n\n\t\tpublic Style Style\n\t\t{\n\t\t\tget => _metroSetScrollBar.Style;\n\t\t\tset => _metroSetScrollBar.Style = value;\n\t\t}\n\n\t\tpublic string ThemeAuthor => _metroSetScrollBar.ThemeAuthor;\n\n\t\tpublic string ThemeName => _metroSetScrollBar.ThemeName;\n\n\t\tpublic StyleManager StyleManager\n\t\t{\n\t\t\tget => _metroSetScrollBar.StyleManager;\n\t\t\tset => _metroSetScrollBar.StyleManager = value;\n\t\t}\n\n\t\tpublic int Maximum\n\t\t{\n\t\t\tget => _metroSetScrollBar.Maximum;\n\t\t\tset => _metroSetScrollBar.Maximum = value;\n\t\t}\n\n\t\tpublic int Minimum\n\t\t{\n\t\t\tget => _metroSetScrollBar.Minimum;\n\t\t\tset => _metroSetScrollBar.Minimum = value;\n\t\t}\n\n\n\t\tpublic int Value\n\t\t{\n\t\t\tget => _metroSetScrollBar.Value;\n\t\t\tset => _metroSetScrollBar.Value = value;\n\t\t}\n\n\n\t\tpublic int SmallChange\n\t\t{\n\t\t\tget => _metroSetScrollBar.SmallChange;\n\t\t\tset => _metroSetScrollBar.SmallChange = value;\n\t\t}\n\n\n\t\tpublic int LargeChange\n\t\t{\n\t\t\tget => _metroSetScrollBar.LargeChange;\n\t\t\tset => _metroSetScrollBar.LargeChange = value;\n\t\t}\n\n\t\tpublic ScrollOrientate Orientation\n\t\t{\n\t\t\tget => _metroSetScrollBar.Orientation;\n\t\t\tset => _metroSetScrollBar.Orientation = value;\n\t\t}\n\n\t\tpublic override DesignerActionItemCollection GetSortedActionItems()\n\t\t{\n\t\t\tDesignerActionItemCollection items = new DesignerActionItemCollection\n\t\t{\n\t\t\tnew DesignerActionHeaderItem(\"MetroSet Framework\"),\n\t\t\tnew DesignerActionPropertyItem(\"StyleManager\", \"StyleManager\", \"MetroSet Framework\", \"Gets or sets the stylemanager for the control.\"),\n\t\t\tnew DesignerActionPropertyItem(\"Style\", \"Style\", \"MetroSet Framework\", \"Gets or sets the style.\"),\n\n\t\t\tnew DesignerActionHeaderItem(\"Informations\"),\n\t\t\tnew DesignerActionPropertyItem(\"ThemeName\", \"ThemeName\", \"Informations\", \"Gets or sets the The Theme name associated with the theme.\"),\n\t\t\tnew DesignerActionPropertyItem(\"ThemeAuthor\", \"ThemeAuthor\", \"Informations\", \"Gets or sets the The Author name associated with the theme.\"),\n\n\t\t\tnew DesignerActionHeaderItem(\"Appearance\"),\n\t\t\tnew DesignerActionPropertyItem(\"Orientation\", \"Orientation\", \"Appearance\", \"Gets or sets the scroll bar orientation.\"),\n\n\t\t\tnew DesignerActionHeaderItem(\"Behavior\"),\n\t\t\tnew DesignerActionPropertyItem(\"Maximum\", \"Maximum\", \"Behavior\", \"Gets or sets the upper limit of the scrollable range.\"),\n\t\t\tnew DesignerActionPropertyItem(\"Minimum\", \"Minimum\", \"Behavior\", \"Gets or sets the lower limit of the scrollable range.\"),\n\t\t\tnew DesignerActionPropertyItem(\"Value\", \"Value\", \"Behavior\", \"Gets or sets a numeric value that represents the current position of the scroll bar box.\"),\n\t\t\tnew DesignerActionPropertyItem(\"LargeChange\", \"LargeChange\", \"Behavior\", \"Gets or sets the distance to move a scroll bar in response to a large scroll command.\"),\n\t\t\tnew DesignerActionPropertyItem(\"SmallChange\", \"SmallChange\", \"Behavior\", \"Gets or sets the distance to move a scroll bar in response to a small scroll command.\"),\n\n\t\t};\n\n\t\t\treturn items;\n\t\t}\n\t}\n}\n"
  },
  {
    "path": "MetroSet UI/Actions/MetroSetSwitchActionList.cs",
    "content": "﻿/*\n * MetroSet UI - MetroSet UI Framework\n * \n * The MIT License (MIT)\n * Copyright (c) 2017 Narwin, https://github.com/N-a-r-w-i-n\n * \n * Permission is hereby granted, free of charge, to any person obtaining a copy of \n * this software and associated documentation files (the \"Software\"), to deal in the \n * Software without restriction, including without limitation the rights to use, copy, \n * modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, \n * and to permit persons to whom the Software is furnished to do so, subject to the \n * following conditions:\n * \n * The above copyright notice and this permission notice shall be included in \n * all copies or substantial portions of the Software.\n * \n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, \n * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A \n * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT \n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF \n * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE \n * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nusing System.ComponentModel;\nusing System.ComponentModel.Design;\nusing MetroSet_UI.Components;\nusing MetroSet_UI.Controls;\nusing MetroSet_UI.Enums;\n\nnamespace MetroSet_UI.Actions\n{\n\tinternal class MetroSetSwitchActionList : DesignerActionList\n\t{\n\t\tprivate readonly MetroSetSwitch _metroSetSwitch;\n\n\t\tpublic MetroSetSwitchActionList(IComponent component) : base(component)\n\t\t{\n\t\t\t_metroSetSwitch = (MetroSetSwitch)component;\n\t\t}\n\n\t\tpublic Style Style\n\t\t{\n\t\t\tget => _metroSetSwitch.Style;\n\t\t\tset => _metroSetSwitch.Style = value;\n\t\t}\n\n\t\tpublic string ThemeAuthor => _metroSetSwitch.ThemeAuthor;\n\n\t\tpublic string ThemeName => _metroSetSwitch.ThemeName;\n\n\t\tpublic StyleManager StyleManager\n\t\t{\n\t\t\tget => _metroSetSwitch.StyleManager;\n\t\t\tset => _metroSetSwitch.StyleManager = value;\n\t\t}\n\n\t\tpublic string Text\n\t\t{\n\t\t\tget => _metroSetSwitch.Text;\n\t\t\tset => _metroSetSwitch.Text = value;\n\t\t}\n\n\t\tpublic bool Switched\n\t\t{\n\t\t\tget => _metroSetSwitch.Switched;\n\t\t\tset => _metroSetSwitch.Switched = value;\n\t\t}\n\n\t\tpublic override DesignerActionItemCollection GetSortedActionItems()\n\t\t{\n\t\t\tDesignerActionItemCollection items = new DesignerActionItemCollection\n\t\t{\n\t\t\tnew DesignerActionHeaderItem(\"MetroSet Framework\"),\n\t\t\tnew DesignerActionPropertyItem(\"StyleManager\", \"StyleManager\", \"MetroSet Framework\", \"Gets or sets the stylemanager for the control.\"),\n\t\t\tnew DesignerActionPropertyItem(\"Style\", \"Style\", \"MetroSet Framework\", \"Gets or sets the style.\"),\n\n\t\t\tnew DesignerActionHeaderItem(\"Informations\"),\n\t\t\tnew DesignerActionPropertyItem(\"ThemeName\", \"ThemeName\", \"Informations\", \"Gets or sets the The Theme name associated with the theme.\"),\n\t\t\tnew DesignerActionPropertyItem(\"ThemeAuthor\", \"ThemeAuthor\", \"Informations\", \"Gets or sets the The Author name associated with the theme.\"),\n\n\t\t\tnew DesignerActionHeaderItem(\"Appearance\"),\n\t\t\tnew DesignerActionPropertyItem(\"Text\", \"Text\", \"Appearance\", \"Gets or sets the The text associated with the control.\"),\n\t\t\tnew DesignerActionPropertyItem(\"Switched\", \"Switched\", \"Appearance\", \"Gets or sets a value indicating whether the control is switched.\"),\n\t\t};\n\n\t\t\treturn items;\n\t\t}\n\t}\n}"
  },
  {
    "path": "MetroSet UI/Actions/MetroSetTextBoxActionList.cs",
    "content": "﻿/*\n * MetroSet UI - MetroSet UI Framework\n * \n * The MIT License (MIT)\n * Copyright (c) 2017 Narwin, https://github.com/N-a-r-w-i-n\n * \n * Permission is hereby granted, free of charge, to any person obtaining a copy of \n * this software and associated documentation files (the \"Software\"), to deal in the \n * Software without restriction, including without limitation the rights to use, copy, \n * modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, \n * and to permit persons to whom the Software is furnished to do so, subject to the \n * following conditions:\n * \n * The above copyright notice and this permission notice shall be included in \n * all copies or substantial portions of the Software.\n * \n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, \n * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A \n * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT \n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF \n * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE \n * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nusing System.ComponentModel;\nusing System.ComponentModel.Design;\nusing System.Drawing;\nusing System.Windows.Forms;\nusing MetroSet_UI.Components;\nusing MetroSet_UI.Controls;\nusing MetroSet_UI.Enums;\n\nnamespace MetroSet_UI.Actions\n{\n\tinternal class MetroSetTextBoxActionList : DesignerActionList\n\t{\n\t\tprivate readonly MetroSetTextBox _metroSetTextBox;\n\n\t\tpublic MetroSetTextBoxActionList(IComponent component) : base(component)\n\t\t{\n\t\t\t_metroSetTextBox = (MetroSetTextBox)component;\n\t\t}\n\n\t\tpublic Style Style\n\t\t{\n\t\t\tget => _metroSetTextBox.Style;\n\t\t\tset => _metroSetTextBox.Style = value;\n\t\t}\n\n\t\tpublic string ThemeAuthor => _metroSetTextBox.ThemeAuthor;\n\n\t\tpublic string ThemeName => _metroSetTextBox.ThemeName;\n\n\t\tpublic StyleManager StyleManager\n\t\t{\n\t\t\tget => _metroSetTextBox.StyleManager;\n\t\t\tset => _metroSetTextBox.StyleManager = value;\n\t\t}\n\n\t\tpublic string Text\n\t\t{\n\t\t\tget => _metroSetTextBox.Text;\n\t\t\tset => _metroSetTextBox.Text = value;\n\t\t}\n\n\t\tpublic Font Font\n\t\t{\n\t\t\tget => _metroSetTextBox.Font;\n\t\t\tset => _metroSetTextBox.Font = value;\n\t\t}\n\n\t\tpublic bool ReadOnly\n\t\t{\n\t\t\tget => _metroSetTextBox.ReadOnly;\n\t\t\tset => _metroSetTextBox.ReadOnly = value;\n\t\t}\n\n\t\tpublic bool UseSystemPasswordChar\n\t\t{\n\t\t\tget => _metroSetTextBox.UseSystemPasswordChar;\n\t\t\tset => _metroSetTextBox.UseSystemPasswordChar = value;\n\t\t}\n\n\t\tpublic bool Multiline\n\t\t{\n\t\t\tget => _metroSetTextBox.Multiline;\n\t\t\tset => _metroSetTextBox.Multiline = value;\n\t\t}\n\n\t\tpublic string WatermarkText\n\t\t{\n\t\t\tget => _metroSetTextBox.WatermarkText;\n\t\t\tset => _metroSetTextBox.WatermarkText = value;\n\t\t}\n\n\t\tpublic ContextMenuStrip ContextMenuStrip\n\t\t{\n\t\t\tget => _metroSetTextBox.ContextMenuStrip;\n\t\t\tset => _metroSetTextBox.ContextMenuStrip = value;\n\t\t}\n\n\t\tpublic override DesignerActionItemCollection GetSortedActionItems()\n\t\t{\n\t\t\tDesignerActionItemCollection items = new DesignerActionItemCollection\n\t\t{\n\t\t\tnew DesignerActionHeaderItem(\"MetroSet Framework\"),\n\t\t\tnew DesignerActionPropertyItem(\"StyleManager\", \"StyleManager\", \"MetroSet Framework\", \"Gets or sets the stylemanager for the control.\"),\n\t\t\tnew DesignerActionPropertyItem(\"Style\", \"Style\", \"MetroSet Framework\", \"Gets or sets the style.\"),\n\n\t\t\tnew DesignerActionHeaderItem(\"Informations\"),\n\t\t\tnew DesignerActionPropertyItem(\"ThemeName\", \"ThemeName\", \"Informations\", \"Gets or sets the The Theme name associated with the theme.\"),\n\t\t\tnew DesignerActionPropertyItem(\"ThemeAuthor\", \"ThemeAuthor\", \"Informations\", \"Gets or sets the The Author name associated with the theme.\"),\n\n\t\t\tnew DesignerActionHeaderItem(\"Appearance\"),\n\t\t\tnew DesignerActionPropertyItem(\"Text\", \"Text\", \"Appearance\", \"Gets or sets the The text associated with the control.\"),\n\t\t\tnew DesignerActionPropertyItem(\"Font\", \"Font\", \"Appearance\", \"Gets or sets the The font associated with the control.\"),\n\t\t\tnew DesignerActionPropertyItem(\"ReadOnly\", \"ReadOnly\", \"Appearance\", \"Gets or sets a value indicating whether text in the text box is read-only.\"),\n\t\t\tnew DesignerActionPropertyItem(\"UseSystemPasswordChar\", \"UseSystemPasswordChar\", \"Appearance\", \"Gets or sets a value indicating whether the text in the TextBox control should appear as the default password character.\"),\n\t\t\tnew DesignerActionPropertyItem(\"Multiline\", \"Multiline\", \"Appearance\", \"Gets or sets a value indicating whether this is a multiline TextBox control.\"),\n\t\t\tnew DesignerActionPropertyItem(\"WatermarkText\", \"WatermarkText\", \"Appearance\", \"Gets or sets the text in the TextBox while being empty.\"),\n\t\t\tnew DesignerActionPropertyItem(\"ContextMenuStrip\", \"ContextMenuStrip\", \"Appearance\", \"Gets or sets the ContextMenuStrip associated with this control.\"),\n\t\t};\n\n\t\t\treturn items;\n\t\t}\n\t}\n}"
  },
  {
    "path": "MetroSet UI/Actions/MetroSetTileActionList.cs",
    "content": "﻿/*\n * MetroSet UI - MetroSet UI Framework\n * \n * The MIT License (MIT)\n * Copyright (c) 2017 Narwin, https://github.com/N-a-r-w-i-n\n * \n * Permission is hereby granted, free of charge, to any person obtaining a copy of \n * this software and associated documentation files (the \"Software\"), to deal in the \n * Software without restriction, including without limitation the rights to use, copy, \n * modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, \n * and to permit persons to whom the Software is furnished to do so, subject to the \n * following conditions:\n * \n * The above copyright notice and this permission notice shall be included in \n * all copies or substantial portions of the Software.\n * \n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, \n * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A \n * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT \n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF \n * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE \n * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nusing System.ComponentModel;\nusing System.ComponentModel.Design;\nusing System.Drawing;\nusing MetroSet_UI.Components;\nusing MetroSet_UI.Controls;\nusing MetroSet_UI.Enums;\n\nnamespace MetroSet_UI.Actions\n{\n\tpublic class MetroSetTileActionList : DesignerActionList\n\t{\n\t\tprivate readonly MetroSetTile _metroSetTile;\n\n\t\tpublic MetroSetTileActionList(IComponent component) : base(component)\n\t\t{\n\t\t\t_metroSetTile = (MetroSetTile)component;\n\t\t}\n\n\t\tpublic Style Style\n\t\t{\n\t\t\tget => _metroSetTile.Style;\n\t\t\tset => _metroSetTile.Style = value;\n\t\t}\n\n\t\tpublic string ThemeAuthor => _metroSetTile.ThemeAuthor;\n\n\t\tpublic string ThemeName => _metroSetTile.ThemeName;\n\n\t\tpublic StyleManager StyleManager\n\t\t{\n\t\t\tget => _metroSetTile.StyleManager;\n\t\t\tset => _metroSetTile.StyleManager = value;\n\t\t}\n\n\t\tpublic string Text\n\t\t{\n\t\t\tget => _metroSetTile.Text;\n\t\t\tset => _metroSetTile.Text = value;\n\t\t}\n\n\t\tpublic Font Font\n\t\t{\n\t\t\tget => _metroSetTile.Font;\n\t\t\tset => _metroSetTile.Font = value;\n\t\t}\n\n\t\tpublic Image BackgroundImage\n\t\t{\n\t\t\tget => _metroSetTile.BackgroundImage;\n\t\t\tset => _metroSetTile.BackgroundImage = value;\n\t\t}\n\n\t\tpublic override DesignerActionItemCollection GetSortedActionItems()\n\t\t{\n\t\t\tDesignerActionItemCollection items = new DesignerActionItemCollection\n\t\t{\n\t\t\tnew DesignerActionHeaderItem(\"MetroSet Framework\"),\n\t\t\tnew DesignerActionPropertyItem(\"StyleManager\", \"StyleManager\", \"MetroSet Framework\", \"Gets or sets the stylemanager for the control.\"),\n\t\t\tnew DesignerActionPropertyItem(\"Style\", \"Style\", \"MetroSet Framework\", \"Gets or sets the style.\"),\n\n\t\t\tnew DesignerActionHeaderItem(\"Informations\"),\n\t\t\tnew DesignerActionPropertyItem(\"ThemeName\", \"ThemeName\", \"Informations\", \"Gets or sets the The Theme name associated with the theme.\"),\n\t\t\tnew DesignerActionPropertyItem(\"ThemeAuthor\", \"ThemeAuthor\", \"Informations\", \"Gets or sets the The Author name associated with the theme.\"),\n\n\t\t\tnew DesignerActionHeaderItem(\"Appearance\"),\n\t\t\tnew DesignerActionPropertyItem(\"Text\", \"Text\", \"Appearance\", \"Gets or sets the The text associated with the control.\"),\n\t\t\tnew DesignerActionPropertyItem(\"Font\", \"Font\", \"Appearance\", \"Gets or sets the The font associated with the control.\"),\n\t\t\tnew DesignerActionPropertyItem(\"BackgroundImage\", \"BackgroundImage\", \"Appearance\", \"Gets or sets the BackgroundImage associated with the control.\"),\n\t\t};\n\n\t\t\treturn items;\n\t\t}\n\t}\n}"
  },
  {
    "path": "MetroSet UI/Actions/MetroSetToolTipActionList.cs",
    "content": "﻿/*\n * MetroSet UI - MetroSet UI Framework\n * \n * The MIT License (MIT)\n * Copyright (c) 2017 Narwin, https://github.com/N-a-r-w-i-n\n * \n * Permission is hereby granted, free of charge, to any person obtaining a copy of \n * this software and associated documentation files (the \"Software\"), to deal in the \n * Software without restriction, including without limitation the rights to use, copy, \n * modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, \n * and to permit persons to whom the Software is furnished to do so, subject to the \n * following conditions:\n * \n * The above copyright notice and this permission notice shall be included in \n * all copies or substantial portions of the Software.\n * \n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, \n * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A \n * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT \n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF \n * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE \n * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nusing System.ComponentModel;\nusing System.ComponentModel.Design;\nusing MetroSet_UI.Components;\nusing MetroSet_UI.Enums;\n\nnamespace MetroSet_UI.Actions\n{\n\tinternal class MetroSetToolTipActionList : DesignerActionList\n\t{\n\t\tprivate readonly MetroSetSetToolTip _metroSetSetToolTip;\n\n\t\tpublic MetroSetToolTipActionList(IComponent component) : base(component)\n\t\t{\n\t\t\t_metroSetSetToolTip = (MetroSetSetToolTip)component;\n\t\t}\n\n\t\tpublic Style Style\n\t\t{\n\t\t\tget => _metroSetSetToolTip.Style;\n\t\t\tset => _metroSetSetToolTip.Style = value;\n\t\t}\n\n\t\tpublic string ThemeAuthor => _metroSetSetToolTip.ThemeAuthor;\n\n\t\tpublic string ThemeName => _metroSetSetToolTip.ThemeName;\n\n\t\tpublic StyleManager StyleManager\n\t\t{\n\t\t\tget => _metroSetSetToolTip.StyleManager;\n\t\t\tset => _metroSetSetToolTip.StyleManager = value;\n\t\t}\n\n\t\tpublic bool Active\n\t\t{\n\t\t\tget => _metroSetSetToolTip.Active;\n\t\t\tset => _metroSetSetToolTip.Active = value;\n\t\t}\n\n\t\tpublic int AutomaticDelay\n\t\t{\n\t\t\tget => _metroSetSetToolTip.AutomaticDelay;\n\t\t\tset => _metroSetSetToolTip.AutomaticDelay = value;\n\t\t}\n\n\t\tpublic int AutoPopDelay\n\t\t{\n\t\t\tget => _metroSetSetToolTip.AutoPopDelay;\n\t\t\tset => _metroSetSetToolTip.AutoPopDelay = value;\n\t\t}\n\n\t\tpublic int InitialDelay\n\t\t{\n\t\t\tget => _metroSetSetToolTip.InitialDelay;\n\t\t\tset => _metroSetSetToolTip.InitialDelay = value;\n\t\t}\n\n\t\tpublic bool StripAmpersands\n\t\t{\n\t\t\tget => _metroSetSetToolTip.StripAmpersands;\n\t\t\tset => _metroSetSetToolTip.StripAmpersands = value;\n\t\t}\n\n\t\tpublic bool UseAnimation\n\t\t{\n\t\t\tget => _metroSetSetToolTip.UseAnimation;\n\t\t\tset => _metroSetSetToolTip.UseAnimation = value;\n\t\t}\n\n\t\tpublic bool UseFading\n\t\t{\n\t\t\tget => _metroSetSetToolTip.UseFading;\n\t\t\tset => _metroSetSetToolTip.UseFading = value;\n\t\t}\n\n\t\tpublic override DesignerActionItemCollection GetSortedActionItems()\n\t\t{\n\t\t\tDesignerActionItemCollection items = new DesignerActionItemCollection\n\t\t{\n\t\t\tnew DesignerActionHeaderItem(\"MetroSet Framework\"),\n\t\t\tnew DesignerActionPropertyItem(\"StyleManager\", \"StyleManager\", \"MetroSet Framework\", \"Gets or sets the stylemanager for the control.\"),\n\t\t\tnew DesignerActionPropertyItem(\"Style\", \"Style\", \"MetroSet Framework\", \"Gets or sets the style.\"),\n\n\t\t\tnew DesignerActionHeaderItem(\"Informations\"),\n\t\t\tnew DesignerActionPropertyItem(\"ThemeName\", \"ThemeName\", \"Informations\", \"Gets or sets the The Theme name associated with the theme.\"),\n\t\t\tnew DesignerActionPropertyItem(\"ThemeAuthor\", \"ThemeAuthor\", \"Informations\", \"Gets or sets the The Author name associated with the theme.\"),\n\n\t\t\tnew DesignerActionHeaderItem(\"Misc\"),\n\t\t\t\tnew DesignerActionPropertyItem(\"Active\", \"Active\", \"Misc\", \"Gets or sets a value indicating whether the ToolTip is currently active.\"),\n\t\t\t\tnew DesignerActionPropertyItem(\"AutomaticDelay\", \"AutomaticDelay\", \"Misc\", \"Gets or sets the automatic delay for the ToolTip.\"),\n\t\t\t\tnew DesignerActionPropertyItem(\"AutoPopDelay\", \"AutoPopDelay\", \"Misc\", \"Gets or sets the period of time the ToolTip remains visible if the pointer is stationary on a control with specified ToolTip text.\"),\n\t\t\t\tnew DesignerActionPropertyItem(\"InitialDelay\", \"InitialDelay\", \"Misc\", \"Gets or sets the time that passes before the ToolTip appears.\"),\n\t\t\t\tnew DesignerActionPropertyItem(\"StripAmpersands\", \"StripAmpersands\", \"Misc\", \"Gets or sets a value that determines how ampersand (&) characters are treated.\"),\n\t\t\t\tnew DesignerActionPropertyItem(\"UseAnimation\", \"UseAnimation\", \"Misc\", \"Gets or sets a value determining whether an animation effect should be used when displaying the ToolTip.\"),\n\t\t\t\tnew DesignerActionPropertyItem(\"UseFading\", \"UseFading\", \"Appearance\", \"Gets or sets a value determining whether a fade effect should be used when displaying the ToolTip.\"),\n\t\t\t};\n\n\t\t\treturn items;\n\t\t}\n\t}\n}"
  },
  {
    "path": "MetroSet UI/Actions/MetroSetTrackBarActionList.cs",
    "content": "﻿/*\n * MetroSet UI - MetroSet UI Framework\n * \n * The MIT License (MIT)\n * Copyright (c) 2017 Narwin, https://github.com/N-a-r-w-i-n\n * \n * Permission is hereby granted, free of charge, to any person obtaining a copy of \n * this software and associated documentation files (the \"Software\"), to deal in the \n * Software without restriction, including without limitation the rights to use, copy, \n * modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, \n * and to permit persons to whom the Software is furnished to do so, subject to the \n * following conditions:\n * \n * The above copyright notice and this permission notice shall be included in \n * all copies or substantial portions of the Software.\n * \n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, \n * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A \n * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT \n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF \n * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE \n * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nusing System.ComponentModel;\nusing System.ComponentModel.Design;\nusing MetroSet_UI.Components;\nusing MetroSet_UI.Controls;\nusing MetroSet_UI.Enums;\n\nnamespace MetroSet_UI.Actions\n{\n\tpublic class MetroSetTrackBarActionList : DesignerActionList\n\t{\n\t\tprivate readonly MetroSetTrackBar _metroSetTrackBar;\n\n\t\tpublic MetroSetTrackBarActionList(IComponent component) : base(component)\n\t\t{\n\t\t\t_metroSetTrackBar = (MetroSetTrackBar)component;\n\t\t}\n\n\t\tpublic Style Style\n\t\t{\n\t\t\tget => _metroSetTrackBar.Style;\n\t\t\tset => _metroSetTrackBar.Style = value;\n\t\t}\n\n\t\tpublic string ThemeAuthor => _metroSetTrackBar.ThemeAuthor;\n\n\t\tpublic string ThemeName => _metroSetTrackBar.ThemeName;\n\n\t\tpublic StyleManager StyleManager\n\t\t{\n\t\t\tget => _metroSetTrackBar.StyleManager;\n\t\t\tset => _metroSetTrackBar.StyleManager = value;\n\t\t}\n\n\t\tpublic int Maximum\n\t\t{\n\t\t\tget => _metroSetTrackBar.Maximum;\n\t\t\tset => _metroSetTrackBar.Maximum = value;\n\t\t}\n\n\t\tpublic int Minimum\n\t\t{\n\t\t\tget => _metroSetTrackBar.Minimum;\n\t\t\tset => _metroSetTrackBar.Minimum = value;\n\t\t}\n\n\t\tpublic int Value\n\t\t{\n\t\t\tget => _metroSetTrackBar.Value;\n\t\t\tset => _metroSetTrackBar.Value = value;\n\t\t}\n\n\t\tpublic override DesignerActionItemCollection GetSortedActionItems()\n\t\t{\n\t\t\tDesignerActionItemCollection items = new DesignerActionItemCollection\n\t\t{\n\t\t\tnew DesignerActionHeaderItem(\"MetroSet Framework\"),\n\t\t\tnew DesignerActionPropertyItem(\"StyleManager\", \"StyleManager\", \"MetroSet Framework\", \"Gets or sets the stylemanager for the control.\"),\n\t\t\tnew DesignerActionPropertyItem(\"Style\", \"Style\", \"MetroSet Framework\", \"Gets or sets the style.\"),\n\n\t\t\tnew DesignerActionHeaderItem(\"Informations\"),\n\t\t\tnew DesignerActionPropertyItem(\"ThemeName\", \"ThemeName\", \"Informations\", \"Gets or sets the The Theme name associated with the theme.\"),\n\t\t\tnew DesignerActionPropertyItem(\"ThemeAuthor\", \"ThemeAuthor\", \"Informations\", \"Gets or sets the The Author name associated with the theme.\"),\n\n\t\t\tnew DesignerActionHeaderItem(\"Appearance\"),\n\t\t\tnew DesignerActionPropertyItem(\"Maximum\", \"Maximum\", \"Appearance\", \"Gets or sets the upper limit of the range this TrackBar is working with.\"),\n\t\t\tnew DesignerActionPropertyItem(\"Minimum\", \"Minimum\", \"Appearance\", \"Gets or sets the lower limit of the range this TrackBar is working with.\"),\n\t\t\tnew DesignerActionPropertyItem(\"Value\", \"Value\", \"Appearance\", \"Gets or sets a numeric value that represents the current position of the scroll box on the track bar.\"),\n\t\t};\n\n\t\t\treturn items;\n\t\t}\n\t}\n}"
  },
  {
    "path": "MetroSet UI/Actions/StyleManagerActionList.cs",
    "content": "﻿using System.ComponentModel;\nusing System.ComponentModel.Design;\nusing System.Drawing.Design;\nusing System.Windows.Forms;\nusing MetroSet_UI.Components;\nusing MetroSet_UI.Enums;\n\n/*\n * MetroSet UI - MetroSet UI Framework\n * \n * The MIT License (MIT)\n * Copyright (c) 2017 Narwin, https://github.com/N-a-r-w-i-n\n * \n * Permission is hereby granted, free of charge, to any person obtaining a copy of \n * this software and associated documentation files (the \"Software\"), to deal in the \n * Software without restriction, including without limitation the rights to use, copy, \n * modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, \n * and to permit persons to whom the Software is furnished to do so, subject to the \n * following conditions:\n * \n * The above copyright notice and this permission notice shall be included in \n * all copies or substantial portions of the Software.\n * \n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, \n * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A \n * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT \n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF \n * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE \n * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nnamespace MetroSet_UI.Actions\n{\n\tclass StyleManagerActionList : DesignerActionList\n\t{\n\t\tprivate readonly StyleManager _styleManger;\n\n\t\tpublic StyleManagerActionList(IComponent component) : base(component)\n\t\t{\n\t\t\t_styleManger = (StyleManager)component;\n\t\t}\n\n\t\tpublic Style Style\n\t\t{\n\t\t\tget => _styleManger.Style;\n\t\t\tset => _styleManger.Style = value;\n\t\t}\n\n\t\tpublic string ThemeAuthor => _styleManger.ThemeAuthor;\n\n\t\tpublic string ThemeName => _styleManger.ThemeName;\n\n\t\t[Editor(typeof(StyleManager.FileNamesEditor), typeof(UITypeEditor)), Category(\"MetroSet Framework\"), Description(\"Gets or sets the custom theme file.\")]\n\t\tpublic string CustomTheme\n\t\t{\n\t\t\tget => _styleManger.CustomTheme;\n\t\t\tset => _styleManger.CustomTheme = value;\n\t\t}\n\n\t\tpublic Form OwnerForm\n\t\t{\n\t\t\tget => _styleManger.MetroForm;\n\t\t\tset => _styleManger.MetroForm = value;\n\t\t}\n\n\t\tpublic override DesignerActionItemCollection GetSortedActionItems()\n\t\t{\n\t\t\tvar items = new DesignerActionItemCollection\n\t\t{\n\t\t\tnew DesignerActionHeaderItem(\"MetroSet Framework\"),\n\t\t\tnew DesignerActionPropertyItem(\"OwnerForm\", \"OwnerForm\", \"MetroSet Framework\", \"Gets or sets the form (MetroForm) to Apply themes for.\"),\n\t\t\tnew DesignerActionPropertyItem(\"Style\", \"Style\", \"MetroSet Framework\", \"Gets or sets the style.\"),\n\t\t\tnew DesignerActionPropertyItem(\"CustomTheme\", \"CustomTheme\", \"MetroSet Framework\", \"Gets or sets the custom theme file.\"),\n\n\t\t\tnew DesignerActionHeaderItem(\"Information\"),\n\t\t\tnew DesignerActionPropertyItem(\"ThemeName\", \"ThemeName\", \"Information\", \"Gets or sets the The Theme name associated with the theme.\"),\n\t\t\tnew DesignerActionPropertyItem(\"ThemeAuthor\", \"ThemeAuthor\", \"Information\", \"Gets or sets the The Author name associated with the theme.\"),\n\n\t\t};\n\n\t\t\treturn items;\n\t\t}\n\n\t}\n\n}\n"
  },
  {
    "path": "MetroSet UI/Animates/Animate.cs",
    "content": "﻿using System;\nusing System.Windows.Forms;\nusing MetroSet_UI.Enums;\n\nnamespace MetroSet_UI.Animates\n{\n\t// interpolation animate\n\tpublic abstract class Animate<T> : IDisposable\n\t{\n\t\t/// <summary>\n\t\t/// Call when animation update\n\t\t/// </summary>\n\t\tpublic Action<T> Update { get; set; }\n\n\t\t/// <summary>\n\t\t/// Call when animation complate\n\t\t/// </summary>\n\t\tpublic MethodInvoker Complete { get; set; }\n\n\t\t#region Internal Vars\n\t\t// a bad way to record time...\n\t\tprivate DateTime _lastUpdateTime;\n\t\t// I use timer instead of thread, so you can modify control without Control.Invoke\n\t\tprivate Timer _animateTimer;\n\t\t// reverse animate\n\t\tprivate bool _reverse;\n\t\t#endregion\n\n\t\t#region Constructors\n\t\t// choose best interval for yourself\n\t\tpublic Animate(int updateInterval = 16)\n\t\t{\n\t\t\t_animateTimer = new Timer()\n\t\t\t{\n\t\t\t\tInterval = updateInterval,\n\t\t\t\tEnabled = false,\n\t\t\t};\n\t\t\t_animateTimer.Tick += this.OnFrameUpdate;\n\t\t\t_reverse = false;\n\t\t\tAlpha = 0.0;\n\t\t}\n\t\t#endregion\n\n\t\t#region Functions\n\t\t// just set once, and use start, back or reverse to play animate\n\t\tpublic void Setting(int duration, T initial, T end, EasingType easing = EasingType.Linear)\n\t\t{\n\t\t\tInitialValue = initial;\n\t\t\tEndValue = end;\n\t\t\tEasingType = easing;\n\t\t\tDuration = duration;\n\t\t}\n\n\t\t// start animate with default setting\n\t\tpublic void Start()\n\t\t{\n\t\t\t_reverse = false;\n\t\t\tAlpha = 0.0;\n\t\t\tPlay();\n\t\t}\n\n\t\t// back animate with default setting\n\t\tpublic void Back()\n\t\t{\n\t\t\t_reverse = true;\n\t\t\tAlpha = 1.0;\n\t\t\tPlay();\n\t\t}\n\n\t\t// start animate with default setting\n\t\tpublic void Start(int duration)\n\t\t{\n\t\t\t_reverse = false;\n\t\t\tAlpha = 0.0;\n\t\t\tDuration = duration;\n\t\t\tPlay();\n\t\t}\n\n\t\t// back animate with default setting\n\t\tpublic void Back(int duration)\n\t\t{\n\t\t\t_reverse = true;\n\t\t\tAlpha = 1.0;\n\t\t\tDuration = duration;\n\t\t\tPlay();\n\t\t}\n\n\t\t// reverse animate\n\t\tpublic void Reverse()\n\t\t{\n\t\t\tReverse(!_reverse);\n\t\t}\n\n\t\t// reverse animate\n\t\tpublic void Reverse(bool val)\n\t\t{\n\t\t\t_reverse = val;\n\n\t\t\tif (!Active)\n\t\t\t\tPlay();\n\t\t}\n\n\t\t// play animate\n\t\tpublic void Play()\n\t\t{\n\t\t\t_lastUpdateTime = DateTime.Now;\n\t\t\tActive = true;\n\t\t\t_animateTimer.Enabled = true;\n\t\t\t_animateTimer.Start();\n\t\t}\n\n\t\tpublic void Pause()\n\t\t{\n\t\t\t_animateTimer.Stop();\n\t\t\t_animateTimer.Enabled = false;\n\t\t\tActive = false;\n\t\t}\n\n\t\tpublic void Stop()\n\t\t{\n\t\t\tPause();\n\t\t\tAlpha = _reverse ? 1.0 : 0.0;\n\t\t}\n\n\t\t// start animate with specific setting\n\t\tpublic void Start(int duration, T initial, T end, EasingType easing = EasingType.Linear)\n\t\t{\n\t\t\tSetting(duration, initial, end, easing);\n\t\t\tStart();\n\t\t}\n\n\t\t// back animate with specific setting\n\t\tpublic void Back(int duration, T initial, T end, EasingType easing = EasingType.Linear)\n\t\t{\n\t\t\tSetting(duration, initial, end, easing);\n\t\t\tBack();\n\t\t}\n\t\t#endregion\n\n\t\t#region Events\n\t\t// process frame\n\t\tprivate void OnFrameUpdate(object sender, EventArgs e)\n\t\t{\n\t\t\tDateTime updateTime = DateTime.Now;\n\t\t\tdouble elapsed;\n\n\t\t\tif (Duration == 0)\n\t\t\t\telapsed = 1.0;\n\t\t\telse\n\t\t\t\telapsed = (updateTime - _lastUpdateTime).TotalMilliseconds / Duration;\n\n\t\t\t_lastUpdateTime = updateTime;\n\t\t\tAlpha = Math.Max(0.0, Math.Min(Alpha + (_reverse ? -elapsed : elapsed), 1.0));\n\n\t\t\tUpdate?.Invoke(Value);\n\n\t\t\tif (Alpha != 0.0 && Alpha != 1.0)\n\t\t\t\treturn;\n\t\t\tPause();\n\t\t\tComplete?.Invoke();\n\t\t}\n\t\t#endregion\n\n\t\t#region Properties\n\t\t// progress. value between 0 and 1\n\t\tpublic double Alpha { get; set; }\n\n\t\t// animate duration \n\t\t//     recorded for calculating elapsed alpha\n\t\t//     if you use reverse animate when animate avtiving\n\t\t//     the real duration will different with the duration you set\n\t\tpublic int Duration { get; set; }\n\n\t\t// initial state of value\n\t\tpublic T InitialValue { get; private set; }\n\n\t\tpublic abstract T Value { get; }\n\n\t\t// final state of value\n\t\tpublic T EndValue { get; private set; }\n\n\t\t// easing type\n\t\tpublic EasingType EasingType { get; private set; }\n\n\t\t// active if the animate is running\n\t\tpublic bool Active { get; private set; }\n\n\t\t// store you own variable here\n\t\tpublic object Tag { get; set; }\n\t\t#endregion\n\n\t\t#region Dispose\n\t\tpublic void Dispose()\n\t\t{\n\t\t\t_animateTimer.Dispose();\n\t\t}\n\t\t#endregion\n\t}\n}\n"
  },
  {
    "path": "MetroSet UI/Animates/ColorAnimate.cs",
    "content": "﻿using System.Drawing;\n\nnamespace MetroSet_UI.Animates\n{\n    public class ColorAnimate : Animate<Color>\n    {\n        public override Color Value =>\n            Color.FromArgb(\n                (byte)Interpolation.ValueAt(InitialValue.A, EndValue.A, Alpha, EasingType),\n                (byte)Interpolation.ValueAt(InitialValue.R, EndValue.R, Alpha, EasingType),\n                (byte)Interpolation.ValueAt(InitialValue.G, EndValue.G, Alpha, EasingType),\n                (byte)Interpolation.ValueAt(InitialValue.B, EndValue.B, Alpha, EasingType)\n            );\n    }\n}\n"
  },
  {
    "path": "MetroSet UI/Animates/DoubleAnimat.cs",
    "content": "﻿namespace MetroSet_UI.Animates\n{\n    public class DoubleAnimate : Animate<double>\n    {\n        public override double Value =>\n            Interpolation.ValueAt(InitialValue, EndValue, Alpha, EasingType);\n    }\n}\n"
  },
  {
    "path": "MetroSet UI/Animates/IntAnimate.cs",
    "content": "﻿namespace MetroSet_UI.Animates\n{\n    public class IntAnimate : Animate<int>\n    {\n        public override int Value => \n            (int)Interpolation.ValueAt(InitialValue, EndValue, Alpha, EasingType);\n    }\n}\n"
  },
  {
    "path": "MetroSet UI/Animates/Interpolation.cs",
    "content": "﻿using System;\nusing MetroSet_UI.Enums;\n\nnamespace MetroSet_UI.Animates\n{\n\t// for animate\n\tpublic class Interpolation\n\t{\n\t\tpublic static double ValueAt(double initial, double end, double alpha, EasingType easing)\n\t\t{\n\t\t\tswitch (easing)\n\t\t\t{\n\t\t\t\tdefault:\n\t\t\t\t\treturn (end * alpha) + (initial * (1 - alpha));\n\t\t\t\tcase EasingType.QuadIn:\n\t\t\t\t\t{\n\t\t\t\t\t\tdouble factor = alpha * alpha;\n\t\t\t\t\t\treturn (end * factor) + (initial * (1 - factor));\n\t\t\t\t\t}\n\t\t\t\tcase EasingType.QuadOut:\n\t\t\t\t\t{\n\t\t\t\t\t\tdouble factor = (2 - alpha) * alpha;\n\t\t\t\t\t\treturn (end * factor) + (initial * (1 - factor));\n\t\t\t\t\t}\n\t\t\t\tcase EasingType.QuadInOut:\n\t\t\t\t\t{\n\t\t\t\t\t\tdouble mid = initial + (end - initial) / 2.0;\n\t\t\t\t\t\tif (alpha <= 0.5)\n\t\t\t\t\t\t\treturn ValueAt(initial, mid, alpha * 2, EasingType.QuadIn);\n\t\t\t\t\t\telse\n\t\t\t\t\t\t\treturn ValueAt(mid, end, (alpha - 0.5) * 2, EasingType.QuadOut);\n\t\t\t\t\t}\n\t\t\t\tcase EasingType.CubeIn:\n\t\t\t\t\t{\n\t\t\t\t\t\tdouble factor = alpha * alpha * alpha;\n\t\t\t\t\t\treturn (end * factor) + (initial * (1 - factor));\n\t\t\t\t\t}\n\t\t\t\tcase EasingType.CubeOut:\n\t\t\t\t\t{\n\t\t\t\t\t\tdouble factor = -(alpha - 1);\n\t\t\t\t\t\tfactor = -(factor * factor * factor) + 1;\n\t\t\t\t\t\treturn (end * factor) + (initial * (1 - factor));\n\t\t\t\t\t}\n\t\t\t\tcase EasingType.CubeInOut:\n\t\t\t\t\t{\n\t\t\t\t\t\tdouble mid = initial + (end - initial) / 2.0;\n\t\t\t\t\t\tif (alpha <= 0.5)\n\t\t\t\t\t\t\treturn ValueAt(initial, mid, alpha * 2, EasingType.CubeIn);\n\t\t\t\t\t\telse\n\t\t\t\t\t\t\treturn ValueAt(mid, end, (alpha - 0.5) * 2, EasingType.CubeOut);\n\t\t\t\t\t}\n\t\t\t\tcase EasingType.QuartIn:\n\t\t\t\t\t{\n\t\t\t\t\t\tdouble factor = alpha * alpha * alpha * alpha;\n\t\t\t\t\t\treturn (end * factor) + (initial * (1 - factor));\n\t\t\t\t\t}\n\t\t\t\tcase EasingType.QuartOut:\n\t\t\t\t\t{\n\t\t\t\t\t\tdouble factor = -(alpha - 1);\n\t\t\t\t\t\tfactor = 1 - (factor * factor * factor * factor);\n\t\t\t\t\t\treturn (end * factor) + (initial * (1 - factor));\n\t\t\t\t\t}\n\t\t\t\tcase EasingType.QuartInOut:\n\t\t\t\t\t{\n\t\t\t\t\t\tdouble mid = initial + (end - initial) / 2.0;\n\t\t\t\t\t\tif (alpha <= 0.5)\n\t\t\t\t\t\t\treturn ValueAt(initial, mid, alpha * 2, EasingType.QuartIn);\n\t\t\t\t\t\telse\n\t\t\t\t\t\t\treturn ValueAt(mid, end, (alpha - 0.5) * 2, EasingType.QuartOut);\n\t\t\t\t\t}\n\t\t\t\tcase EasingType.QuintIn:\n\t\t\t\t\t{\n\t\t\t\t\t\tdouble factor = alpha * alpha * alpha * alpha * alpha;\n\t\t\t\t\t\treturn (end * factor) + (initial * (1 - factor));\n\t\t\t\t\t}\n\t\t\t\tcase EasingType.QuintOut:\n\t\t\t\t\t{\n\t\t\t\t\t\tdouble factor = -(alpha - 1);\n\t\t\t\t\t\tfactor = 1 - (factor * factor * factor * factor * factor);\n\t\t\t\t\t\treturn (end * factor) + (initial * (1 - factor));\n\t\t\t\t\t}\n\t\t\t\tcase EasingType.QuintInOut:\n\t\t\t\t\t{\n\t\t\t\t\t\tdouble mid = initial + (end - initial) / 2.0;\n\t\t\t\t\t\tif (alpha <= 0.5)\n\t\t\t\t\t\t\treturn ValueAt(initial, mid, alpha / 0.5, EasingType.QuintIn);\n\t\t\t\t\t\telse\n\t\t\t\t\t\t\treturn ValueAt(mid, end, (alpha - 0.5) / 0.5, EasingType.QuintOut);\n\t\t\t\t\t}\n\t\t\t\tcase EasingType.SineIn:\n\t\t\t\t\t{\n\t\t\t\t\t\tdouble factor = 1 - Math.Cos(Math.PI / 2 * alpha);\n\t\t\t\t\t\treturn (end * factor) + (initial * (1 - factor));\n\t\t\t\t\t}\n\t\t\t\tcase EasingType.SineOut:\n\t\t\t\t\t{\n\t\t\t\t\t\tdouble factor = Math.Sin(Math.PI / 2 * alpha);\n\t\t\t\t\t\treturn (end * factor) + (initial * (1 - factor));\n\t\t\t\t\t}\n\t\t\t\tcase EasingType.SineInOut:\n\t\t\t\t\t{\n\t\t\t\t\t\tif (alpha <= 0.5)\n\t\t\t\t\t\t\treturn ValueAt(initial, (initial + end) / 2.0, alpha * 2, EasingType.SineIn);\n\t\t\t\t\t\telse\n\t\t\t\t\t\t\treturn ValueAt((initial + end) / 2.0, end, (alpha - 0.5) * 2, EasingType.SineOut);\n\t\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n"
  },
  {
    "path": "MetroSet UI/Animates/PointFAnimate.cs",
    "content": "﻿using System.Drawing;\n\nnamespace MetroSet_UI.Animates\n{\n    public class PointFAnimate : Animate<PointF>\n    {\n        public override PointF Value =>\n            new PointF(\n                (float)Interpolation.ValueAt(InitialValue.X, EndValue.X, Alpha, EasingType),\n                (float)Interpolation.ValueAt(InitialValue.Y, EndValue.Y, Alpha, EasingType)\n            );\n    }\n}\n"
  },
  {
    "path": "MetroSet UI/Animates/SizeFAnimate.cs",
    "content": "﻿using System.Drawing;\n\nnamespace MetroSet_UI.Animates\n{\n    public class SizeFAnimate : Animate<SizeF>\n    {\n        public override SizeF Value =>\n            new SizeF(\n                (float)Interpolation.ValueAt(InitialValue.Width, EndValue.Width, Alpha, EasingType),\n                (float)Interpolation.ValueAt(InitialValue.Height, EndValue.Height, Alpha, EasingType)\n            );\n    }\n}\n"
  },
  {
    "path": "MetroSet UI/Child/MetroSetItemCollection.cs",
    "content": "﻿/*\n* MetroSet UI - MetroSet UI Framework\n* \n* The MIT License (MIT)\n* Copyright (c) 2017 Narwin, https://github.com/N-a-r-w-i-n\n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of \n* this software and associated documentation files (the \"Software\"), to deal in the \n* Software without restriction, including without limitation the rights to use, copy, \n* modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, \n* and to permit persons to whom the Software is furnished to do so, subject to the \n* following conditions:\n* \n* The above copyright notice and this permission notice shall be included in \n* all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, \n* INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A \n* PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT \n* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF \n* CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE \n* OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n*/\n\nusing System;\nusing System.Collections.Generic;\nusing System.Collections.ObjectModel;\n\n\nnamespace MetroSet_UI.Child\n{\n    public class MetroSetItemCollection : Collection<object>\n    {\n\n        /// <summary>\n        /// An event for to determine whether and item or items added or removed.\n        /// </summary>\n        public event EventHandler ItemUpdated;\n        public delegate void EventHandler(object sender, EventArgs e);\n\n        /// <summary>\n        /// Adds an array of items to the list of items for a MetroSetListBox.\n        /// </summary>\n        /// <param name=\"items\">An IEnumerable of objects to add to the list.</param>\n        public void AddRange(IEnumerable<object> items)\n        {\n            foreach (var item in items)\n            {\n                Add(item);\n            }\n        }\n\n        /// <summary>\n        /// Adds an item to the list of items for a MetroSetListBox.\n        /// </summary>\n        /// <param name=\"item\">An object representing the item to add to the collection.</param>\n        protected new void Add(object item)\n        {\n            base.Add(item);\n            ItemUpdated?.Invoke(this, null);\n        }\n\n        /// <summary>\n        /// Inserts an item into the list box at the specified index.\n        /// </summary>\n        /// <param name=\"index\">The zero-based index location where the item is inserted.</param>\n        /// <param name=\"item\">An object representing the item to insert.</param>\n        protected override void InsertItem(int index, object item)\n        {\n            base.InsertItem(index, item);\n            ItemUpdated?.Invoke(this, null);\n        }\n\n        /// <summary>\n        /// Removes the specified object from the collection.\n        /// </summary>\n        /// <param name=\"value\">An object representing the item to remove from the collection.</param>\n        protected override void RemoveItem(int value)\n        {\n            base.RemoveItem(value);\n            ItemUpdated?.Invoke(this, null);\n        }\n\n        /// <summary>\n        /// Removes all items from the collection.\n        /// </summary>\n        protected new void Clear()\n        {\n            base.Clear();\n            ItemUpdated?.Invoke(this, null);\n        }\n\n        /// <summary>\n        /// Removes all items from the collection.\n        /// </summary>\n        protected override void ClearItems()\n        {\n            base.ClearItems();\n            ItemUpdated?.Invoke(this, null);\n        }\n    }\n}\n"
  },
  {
    "path": "MetroSet UI/Child/MetroSetSetTabPage.cs",
    "content": "﻿/*\n * MetroSet UI - MetroSet UI Framework\n *\n * The MIT License (MIT)\n * Copyright (c) 2017 Narwin, https://github.com/N-a-r-w-i-n\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\n * this software and associated documentation files (the \"Software\"), to deal in the\n * Software without restriction, including without limitation the rights to use, copy,\n * modify, merge, publish, distribute, sublicense, and/or sell copies of the Software,\n * and to permit persons to whom the Software is furnished to do so, subject to the\n * following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,\n * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A\n * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF\n * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE\n * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\n\nusing System.ComponentModel;\nusing System.Drawing;\nusing System.Windows.Forms;\nusing MetroSet_UI.Components;\nusing MetroSet_UI.Design;\nusing MetroSet_UI.Enums;\nusing MetroSet_UI.Extensions;\nusing MetroSet_UI.Interfaces;\n\nnamespace MetroSet_UI.Child\n{\n\t[Designer(typeof(MetroSetTabPageDesigner))]\n\tpublic class MetroSetSetTabPage : TabPage, IMetroSetControl\n\t{\n\n\t\t#region Interfaces\n\n\t\t/// <summary>\n\t\t/// Gets or sets the style associated with the control.\n\t\t/// </summary>\n\t\t[Browsable(false)]\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the style associated with the control.\")]\n\t\tpublic Style Style\n\t\t{\n\t\t\tget => StyleManager?.Style ?? _style;\n\t\t\tset\n\t\t\t{\n\t\t\t\t_style = value;\n\t\t\t\tswitch (value)\n\t\t\t\t{\n\t\t\t\t\tcase Style.Light:\n\t\t\t\t\t\tApplyTheme();\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase Style.Dark:\n\t\t\t\t\t\tApplyTheme(Style.Dark);\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase Style.Custom:\n\t\t\t\t\t\tApplyTheme(Style.Custom);\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tApplyTheme();\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tInvalidate();\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets the Style Manager associated with the control.\n\t\t/// </summary>\n\t\t[Browsable(false)]\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the Style Manager associated with the control.\")]\n\t\tpublic StyleManager StyleManager\n\t\t{\n\t\t\tget => _styleManager;\n\t\t\tset { _styleManager = value; Invalidate(); }\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets the The Author name associated with the theme.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the The Author name associated with the theme.\")]\n\t\tpublic string ThemeAuthor { get; set; }\n\n\t\t/// <summary>\n\t\t/// Gets or sets the The Theme name associated with the theme.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the The Theme name associated with the theme.\")]\n\t\tpublic string ThemeName { get; set; }\n\n\t\t#endregion Interfaces\n\n\t\t#region Internal Vars\n\n\t\tprivate Style _style;\n\t\tprivate StyleManager _styleManager;\n\n\t\t#endregion Internal Vars\n\n\t\t#region Constructors\n\n\t\tpublic MetroSetSetTabPage()\n\t\t{\n\t\t\tSetStyle(\n\t\t\t\tControlStyles.UserPaint |\n\t\t\t\tControlStyles.AllPaintingInWmPaint |\n\t\t\t\tControlStyles.ResizeRedraw |\n\t\t\t\tControlStyles.OptimizedDoubleBuffer |\n\t\t\t\tControlStyles.SupportsTransparentBackColor, true);\n\t\t\tbase.Font = MetroSetFonts.Light(10);\n\t\t\tUpdateStyles();\n\t\t\tApplyTheme();\n\t\t}\n\n\t\t#endregion Constructors\n\n\t\t#region ApplyTheme\n\n\t\t/// <summary>\n\t\t/// Gets or sets the style provided by the user.\n\t\t/// </summary>\n\t\t/// <param name=\"style\">The Style.</param>\n\t\tprivate void ApplyTheme(Style style = Style.Light)\n\t\t{\n\t\t\tif (!IsDerivedStyle)\n\t\t\t\treturn;\n\n\t\t\tswitch (style)\n\t\t\t{\n\t\t\t\tcase Style.Light:\n\t\t\t\t\tBaseColor = Color.White;\n\t\t\t\t\tThemeAuthor = \"Narwin\";\n\t\t\t\t\tThemeName = \"MetroLite\";\n\t\t\t\t\tUpdateProperties();\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase Style.Dark:\n\t\t\t\t\tBaseColor = Color.FromArgb(32, 32, 32);\n\t\t\t\t\tThemeAuthor = \"Narwin\";\n\t\t\t\t\tThemeName = \"MetroDark\";\n\t\t\t\t\tUpdateProperties();\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Updating properties after changing in style.\n\t\t/// </summary>\n\t\tpublic void UpdateProperties()\n\t\t{\n\t\t\tInvalidate();\n\t\t}\n\n\t\t#endregion ApplyTheme\n\n\t\t#region Properties\n\n\t\t[Browsable(false)]\n\t\tpublic new Color BackColor { get; set; } = Color.Transparent;\n\n\t\t// I don't want to re-create the following properties for specific reason but for helping\n\t\t// the users to find usage properties easily under MetroSet Framework category in property grid.\n\n\t\t[Category(\"MetroSet Framework\")]\n\t\tpublic override string Text { get; set; }\n\n\t\t[Category(\"MetroSet Framework\")]\n\t\tpublic new Font Font { get; set; }\n\n\t\t[Category(\"MetroSet Framework\")]\n\t\tpublic new int ImageIndex { get; set; }\n\n\t\t[Category(\"MetroSet Framework\")]\n\t\tpublic new string ImageKey { get; set; }\n\n\t\t[Category(\"MetroSet Framework\")]\n\t\tpublic new string ToolTipText { get; set; }\n\n\t\t[Category(\"MetroSet Framework\")]\n\t\t[Bindable(false)]\n\t\tpublic Color BaseColor { get; set; }\n\n\t\tprivate bool _isDerivedStyle = true;\n\n\t\t/// <summary>\n\t\t/// Gets or sets the whether this control reflect to parent form style.\n\t\t/// Set it to false if you want the style of this control be independent. \n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\t[Description(\"Gets or sets the whether this control reflect to parent form style. \\n \" +\n\t\t\t\t\t \"Set it to false if you want the style of this control be independent. \")]\n\t\tpublic bool IsDerivedStyle\n\t\t{\n\t\t\tget { return _isDerivedStyle; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_isDerivedStyle = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\t\t#endregion Properties\n\n\t\t#region DrawControl\n\n\t\tprotected override void OnPaint(PaintEventArgs e)\n\t\t{\n\t\t\tGraphics g = e.Graphics;\n\t\t\tg.TextRenderingHint = System.Drawing.Text.TextRenderingHint.ClearTypeGridFit;\n\t\t\tusing (var bg = new SolidBrush(BaseColor))\n\t\t\t{\n\t\t\t\tg.FillRectangle(bg, ClientRectangle);\n\t\t\t}\n\t\t}\n\n\t\t#endregion\n\n\t}\n}"
  },
  {
    "path": "MetroSet UI/Child/MetroSetTabPageCollectionEditor.cs",
    "content": "﻿/*\n* MetroSet UI - MetroSet UI Framework\n* \n* The MIT License (MIT)\n* Copyright (c) 2017 Narwin, https://github.com/N-a-r-w-i-n\n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of \n* this software and associated documentation files (the \"Software\"), to deal in the \n* Software without restriction, including without limitation the rights to use, copy, \n* modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, \n* and to permit persons to whom the Software is furnished to do so, subject to the \n* following conditions:\n* \n* The above copyright notice and this permission notice shall be included in \n* all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, \n* INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A \n* PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT \n* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF \n* CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE \n* OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n*/\n\n\nusing System;\nusing System.ComponentModel.Design;\nusing System.Windows.Forms;\n\nnamespace MetroSet_UI.Child\n{\n\n\t/// <summary>\n\t/// I provided this class to make the MetroSetTabControl add or remove MetroSetSetTabPage instead of normal TabPage provided by Microsoft.\n\t/// </summary>\n\n\tinternal class MetroSetTabPageCollectionEditor : CollectionEditor\n\t{\n\t\tpublic MetroSetTabPageCollectionEditor(Type type)\n\t\t\t: base(type)\n\t\t{ }\n\n\t\tprotected override Type[] CreateNewItemTypes()\n\t\t{\n\t\t\treturn new[] { typeof(TabPage), typeof(MetroSetSetTabPage) };\n\t\t}\n\t}\n}"
  },
  {
    "path": "MetroSet UI/Child/MetroSetToolStripMenuItem.cs",
    "content": "﻿/*\n* MetroSet UI - MetroSet UI Framework\n* \n* The MIT License (MIT)\n* Copyright (c) 2017 Narwin, https://github.com/N-a-r-w-i-n\n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of \n* this software and associated documentation files (the \"Software\"), to deal in the \n* Software without restriction, including without limitation the rights to use, copy, \n* modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, \n* and to permit persons to whom the Software is furnished to do so, subject to the \n* following conditions:\n* \n* The above copyright notice and this permission notice shall be included in \n* all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, \n* INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A \n* PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT \n* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF \n* CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE \n* OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n*/\n\nusing System.Drawing;\nusing System.Windows.Forms;\nusing MetroSet_UI.Controls;\n\nnamespace MetroSet_UI.Child\n{\n\n\tpublic sealed class MetroSetToolStripMenuItem : ToolStripMenuItem\n\t{\n\t\t#region Constructors\n\n\t\tpublic MetroSetToolStripMenuItem()\n\t\t{\n\t\t\tAutoSize = false;\n\t\t\tSize = new Size(160, 30);\n\t\t}\n\n\t\t#endregion Constructors\n\n\t\t#region Adding DropDowns\n\n\t\tprotected override ToolStripDropDown CreateDefaultDropDown()\n\t\t{\n\t\t\tif (DesignMode)\n\t\t\t{ return base.CreateDefaultDropDown(); }\n\t\t\tvar dp = new MetroSetContextMenuStrip();\n\t\t\tdp.Items.AddRange(base.CreateDefaultDropDown().Items);\n\t\t\treturn dp;\n\t\t}\n\n\t\t#endregion Adding DropDowns\n\t}\n}"
  },
  {
    "path": "MetroSet UI/Components/MetroSetSetToolTip.cs",
    "content": "﻿/*\n * MetroSet UI - MetroSet UI Framework\n * \n * The MIT License (MIT)\n * Copyright (c) 2017 Narwin, https://github.com/N-a-r-w-i-n\n * \n * Permission is hereby granted, free of charge, to any person obtaining a copy of \n * this software and associated documentation files (the \"Software\"), to deal in the \n * Software without restriction, including without limitation the rights to use, copy, \n * modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, \n * and to permit persons to whom the Software is furnished to do so, subject to the \n * following conditions:\n * \n * The above copyright notice and this permission notice shall be included in \n * all copies or substantial portions of the Software.\n * \n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, \n * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A \n * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT \n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF \n * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE \n * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nusing System;\nusing System.ComponentModel;\nusing System.Drawing;\nusing System.Drawing.Text;\nusing System.Windows.Forms;\nusing MetroSet_UI.Design;\nusing MetroSet_UI.Enums;\nusing MetroSet_UI.Extensions;\nusing MetroSet_UI.Interfaces;\n\nnamespace MetroSet_UI.Components\n{\n\n\t[ToolboxItem(true)]\n\t[ToolboxBitmap(typeof(MetroSetSetToolTip), \"Bitmaps.ToolTip.bmp\")]\n\t[Designer(typeof(MetroSetToolTipDesigner))]\n\t[DefaultEvent(\"Popup\")]\n\tpublic class MetroSetSetToolTip : ToolTip, IMetroSetControl\n\t{\n\n\t\t#region Interfaces\n\n\t\t/// <summary>\n\t\t/// Gets or sets the style associated with the control.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the style associated with the control.\")]\n\t\tpublic Style Style\n\t\t{\n\t\t\tget => StyleManager?.Style ?? _style;\n\t\t\tset\n\t\t\t{\n\t\t\t\t_style = value;\n\t\t\t\tswitch (value)\n\t\t\t\t{\n\t\t\t\t\tcase Style.Light:\n\t\t\t\t\t\tApplyTheme();\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase Style.Dark:\n\t\t\t\t\t\tApplyTheme(Style.Dark);\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase Style.Custom:\n\t\t\t\t\t\tApplyTheme(Style.Custom);\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tApplyTheme();\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets the Style Manager associated with the control.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the Style Manager associated with the control.\")]\n\t\tpublic StyleManager StyleManager\n\t\t{\n\t\t\tget => _styleManager;\n\t\t\tset => _styleManager = value;\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets the The Author name associated with the theme.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the The Author name associated with the theme.\")]\n\t\tpublic string ThemeAuthor { get; set; }\n\n\t\t/// <summary>\n\t\t/// Gets or sets the The Theme name associated with the theme.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the The Theme name associated with the theme.\")]\n\t\tpublic string ThemeName { get; set; }\n\n\t\t#endregion Interfaces\n\n\t\t#region Global Vars\n\n\t\tprivate readonly Methods _mth;\n\t\tprivate readonly Utilites _utl;\n\n\t\t#endregion Global Vars\n\n\t\t#region Internal Vars\n\n\t\tprivate StyleManager _styleManager;\n\t\tprivate Style _style;\n\n\t\t#endregion Internal Vars\n\n\t\t#region Constructors\n\n\t\tpublic MetroSetSetToolTip()\n\t\t{\n\t\t\tOwnerDraw = true;\n\t\t\tDraw += OnDraw;\n\t\t\tPopup += ToolTip_Popup;\n\t\t\t_mth = new Methods();\n\t\t\t_utl = new Utilites();\n\t\t\tApplyTheme();\n\t\t}\n\n\t\t#endregion Constructors\n\n\t\t#region Draw Control\n\n\n\t\tprivate void OnDraw(object sender, DrawToolTipEventArgs e)\n\t\t{\n\t\t\tvar g = e.Graphics;\n\t\t\tg.TextRenderingHint = TextRenderingHint.ClearTypeGridFit;\n\t\t\tvar rect = new Rectangle(e.Bounds.X, e.Bounds.Y, e.Bounds.Width - 1, e.Bounds.Height - 1);\n\t\t\tusing (var bg = new SolidBrush(BackColor))\n\t\t\tusing (var stroke = new Pen(BorderColor))\n\t\t\tusing (var tb = new SolidBrush(ForeColor))\n\t\t\t{\n\t\t\t\tg.FillRectangle(bg, rect);\n\t\t\t\tg.DrawString(e.ToolTipText, MetroSetFonts.Light(11), tb, rect, _mth.SetPosition());\n\t\t\t\tg.DrawRectangle(stroke, rect);\n\t\t\t}\n\n\t\t}\n\n\t\t#endregion\n\n\t\t#region ApplyTheme\n\n\t\t/// <summary>\n\t\t/// Gets or sets the style provided by the user.\n\t\t/// </summary>\n\t\t/// <param name=\"style\">The Style.</param>\n\t\tprivate void ApplyTheme(Style style = Style.Light)\n\t\t{\n\t\t\tif (!IsDerivedStyle)\n\t\t\t\treturn;\n\n\t\t\tswitch (style)\n\t\t\t{\n\t\t\t\tcase Style.Light:\n\t\t\t\t\tForeColor = Color.FromArgb(170, 170, 170);\n\t\t\t\t\tBackColor = Color.White;\n\t\t\t\t\tBorderColor = Color.FromArgb(204, 204, 204);\n\t\t\t\t\tThemeAuthor = \"Narwin\";\n\t\t\t\t\tThemeName = \"MetroLite\";\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase Style.Dark:\n\t\t\t\t\tForeColor = Color.FromArgb(204, 204, 204);\n\t\t\t\t\tBackColor = Color.FromArgb(32, 32, 32);\n\t\t\t\t\tBorderColor = Color.FromArgb(64, 64, 64);\n\t\t\t\t\tThemeAuthor = \"Narwin\";\n\t\t\t\t\tThemeName = \"MetroDark\";\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase Style.Custom:\n\n\t\t\t\t\tif (StyleManager != null)\n\t\t\t\t\t\tforeach (var varkey in StyleManager.ToolTipDictionary)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tswitch (varkey.Key)\n\t\t\t\t\t\t\t{\n\n\t\t\t\t\t\t\t\tcase \"BackColor\":\n\t\t\t\t\t\t\t\t\tBackColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tcase \"BorderColor\":\n\t\t\t\t\t\t\t\t\tBorderColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tcase \"ForeColor\":\n\t\t\t\t\t\t\t\t\tForeColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tthrow new ArgumentOutOfRangeException(nameof(style), style, null);\n\t\t\t}\n\t\t}\n\n\t\t#endregion ApplyTheme\n\n\t\t#region Properties\n\n\t\t/// <summary>\n\t\t/// Gets or sets a value indicating whether a ToolTip window is displayed, even when its parent control is not active.\n\t\t/// </summary>\n\t\t[Browsable(false)]\n\t\tpublic new bool ShowAlways { get; } = false;\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets a value indicating whether the ToolTip is drawn by the operating system or by code that you provide.\n\t\t/// </summary>\n\t\t[Browsable(false)]\n\t\tpublic new bool OwnerDraw\n\t\t{\n\t\t\tget => base.OwnerDraw;\n\t\t\tset\n\t\t\t{\n\t\t\t\tbase.OwnerDraw = true;\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets a value indicating whether the ToolTip should use a balloon window.\n\t\t/// </summary>\n\t\t[Browsable(false)]\n\t\tpublic new bool IsBalloon { get; } = false;\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets the background color for the ToolTip.\n\t\t/// </summary>\n\t\t[Browsable(false)]\n\t\tpublic new Color BackColor { get; set; }\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets the foreground color for the ToolTip.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the foreground color for the ToolTip.\")]\n\t\tpublic new Color ForeColor { get; set; }\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets a title for the ToolTip window.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets a title for the ToolTip window.\")]\n\t\tpublic new string ToolTipTitle { get; } = string.Empty;\n\n\n\t\t/// <summary>\n\t\t/// Defines a set of standardized icons that can be associated with a ToolTip.\n\t\t/// </summary>\n\t\t[Browsable(false)]\n\t\tpublic new ToolTipIcon ToolTipIcon { get; } = ToolTipIcon.None;\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets the border color for the ToolTip.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the border color for the ToolTip.\")]\n\t\tpublic Color BorderColor { get; set; }\n\n\t\tprivate bool _isDerivedStyle = true;\n\n\t\t/// <summary>\n\t\t/// Gets or sets the whether this control reflect to parent form style.\n\t\t/// Set it to false if you want the style of this control be independent. \n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\t[Description(\"Gets or sets the whether this control reflect to parent(s) style. \\n \" +\n\t\t\t\t\t \"Set it to false if you want the style of this control be independent. \")]\n\t\tpublic bool IsDerivedStyle\n\t\t{\n\t\t\tget { return _isDerivedStyle; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_isDerivedStyle = value;\n\t\t\t}\n\t\t}\n\n\t\t#endregion\n\n\t\t#region Methods\n\n\t\t/// <summary>\n\t\t/// The ToolTip text to display when the pointer is on the control.\n\t\t/// </summary>\n\t\t/// <param name = \"control\" > The Control to show the tooltip.</param>\n\t\t/// <param name = \"caption\" > The Text that appears in tooltip.</param>\n\t\tpublic new void SetToolTip(Control control, string caption)\n\t\t{\n\t\t\t//This Method is useful at runtime.\n\t\t\tbase.SetToolTip(control, caption);\n\t\t\tforeach (Control c in control.Controls)\n\t\t\t{\n\t\t\t\tSetToolTip(c, caption);\n\t\t\t}\n\t\t}\n\n\t\t#endregion\n\n\t\t#region Events \n\n\t\t/// <summary>\n\t\t/// Here we handle popup event and we set the style of controls for tooltip.\n\t\t/// </summary>\n\t\t/// <param name=\"sender\"></param>\n\t\t/// <param name=\"e\"></param>\n\t\tprivate void ToolTip_Popup(object sender, PopupEventArgs e)\n\t\t{\n\t\t\tvar control = e.AssociatedControl;\n\t\t\tif (control is IMetroSetControl iControl)\n\t\t\t{\n\t\t\t\tStyle = iControl.Style;\n\t\t\t\tThemeAuthor = iControl.ThemeAuthor;\n\t\t\t\tThemeName = iControl.ThemeName;\n\t\t\t\tStyleManager = iControl.StyleManager;\n\t\t\t}\n\t\t\telse if (control is IMetroForm)\n\t\t\t{\n\t\t\t\tStyle = ((IMetroForm)control).Style;\n\t\t\t\tThemeAuthor = ((IMetroForm)control).ThemeAuthor;\n\t\t\t\tThemeName = ((IMetroForm)control).ThemeName;\n\t\t\t\tStyleManager = ((IMetroForm)control).StyleManager;\n\t\t\t}\n\t\t\te.ToolTipSize = new Size(e.ToolTipSize.Width + 30, e.ToolTipSize.Height + 6);\n\t\t}\n\n\t\t#endregion\n\n\t}\n}"
  },
  {
    "path": "MetroSet UI/Components/StyleManager.cs",
    "content": "﻿/*\n * MetroSet UI - MetroSet UI Framework\n * \n * The MIT License (MIT)\n * Copyright (c) 2017 Narwin, https://github.com/N-a-r-w-i-n\n * \n * Permission is hereby granted, free of charge, to any person obtaining a copy of \n * this software and associated documentation files (the \"Software\"), to deal in the \n * Software without restriction, including without limitation the rights to use, copy, \n * modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, \n * and to permit persons to whom the Software is furnished to do so, subject to the \n * following conditions:\n * \n * The above copyright notice and this permission notice shall be included in \n * all copies or substantial portions of the Software.\n * \n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, \n * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A \n * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT \n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF \n * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE \n * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nusing System;\nusing System.Collections.Generic;\nusing System.ComponentModel;\nusing System.Drawing;\nusing System.Drawing.Design;\nusing System.IO;\nusing System.Windows.Forms;\nusing System.Windows.Forms.Design;\nusing System.Xml;\nusing MetroSet_UI.Design;\nusing MetroSet_UI.Enums;\nusing MetroSet_UI.Interfaces;\n\nnamespace MetroSet_UI.Components\n{\n\t[DefaultProperty(\"Style\")]\n\t[Designer(typeof(StyleManagerDesigner))]\n\t[ToolboxItem(true)]\n\t[ToolboxBitmap(typeof(StyleManager), \"Style.bmp\")]\n\tpublic class StyleManager : Component\n\t{\n\n\t\tprivate readonly Form _ownerForm;\n\n\t\t#region Constructor\n\n\t\tpublic StyleManager()\n\t\t{\n\t\t\t_style = Style.Light;\n\t\t\tif (_customTheme == null)\n\t\t\t{\n\t\t\t\tvar themeFile = Properties.Settings.Default.ThemeFile;\n\t\t\t\t_customTheme = File.Exists(themeFile) ? themeFile : ThemeFilePath(themeFile);\n\t\t\t}\n\t\t\tInitializeDictionaries();\n\t\t}\n\n\t\t#endregion\n\n\t\t#region Methods\n\n\t\t/// <summary>\n\t\t/// The Method to update the form with the style manager style and it's controls.\n\t\t/// </summary>\n\t\tprivate void UpdateForm()\n\t\t{\n\t\t\tswitch (MetroForm)\n\t\t\t{\n\t\t\t\tcase IMetroForm form:\n\t\t\t\t\tform.Style = Style;\n\t\t\t\t\tform.ThemeAuthor = ThemeAuthor;\n\t\t\t\t\tform.ThemeName = ThemeName;\n\t\t\t\t\tform.StyleManager = this;\n\t\t\t\t\tform.StyleManager.MetroForm = _ownerForm;\n\t\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tif (MetroForm.Controls.Count > 0)\n\t\t\t\tUpdateControls(MetroForm.Controls);\n\n\t\t\tMetroForm.Invalidate();\n\t\t}\n\n\t\t/// <summary>\n\t\t/// The Method to update controls with the style manager style.\n\t\t/// </summary>\n\t\tprivate void UpdateControls(Control.ControlCollection controls)\n\t\t{\n\n\t\t\tforeach (Control ctrl in controls)\n\t\t\t{\n\t\t\t\tvar control = ctrl as IMetroSetControl;\n\t\t\t\tif (control != null && CustomTheme != null)\n\t\t\t\t{\n\t\t\t\t\tcontrol.Style = Style;\n\t\t\t\t\tcontrol.ThemeAuthor = ThemeAuthor;\n\t\t\t\t\tcontrol.ThemeName = ThemeName;\n\t\t\t\t\tcontrol.StyleManager = this;\n\t\t\t\t}\n\t\t\t\tif (control is TabControl tabControl)\n\t\t\t\t{\n\t\t\t\t\tforeach (TabPage c in tabControl.TabPages)\n\t\t\t\t\t{\n\t\t\t\t\t\tif (c is IMetroSetControl)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcontrol.Style = Style;\n\t\t\t\t\t\t\tcontrol.StyleManager = this;\n\t\t\t\t\t\t\tcontrol.ThemeAuthor = ThemeAuthor;\n\t\t\t\t\t\t\tcontrol.ThemeName = ThemeName;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tUpdateControls(c.Controls);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tforeach (Control child in ctrl.Controls)\n\t\t\t\t{\n\t\t\t\t\tif (!(child is IMetroSetControl))\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t((IMetroSetControl)child).Style = Style;\n\t\t\t\t\t((IMetroSetControl)child).StyleManager = this;\n\t\t\t\t\t((IMetroSetControl)child).ThemeAuthor = ThemeAuthor;\n\t\t\t\t\t((IMetroSetControl)child).ThemeName = ThemeName;\n\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// The Method to apply the style manager style to the added controls.\n\t\t/// </summary>\n\t\tprivate void ControlAdded(object sender, ControlEventArgs e)\n\t\t{\n\t\t\tif (e.Control is IMetroSetControl control)\n\t\t\t{\n\t\t\t\tif (!control.IsDerivedStyle)\n\t\t\t\t\treturn;\n\t\t\t\tcontrol.Style = Style;\n\t\t\t\tcontrol.ThemeAuthor = ThemeAuthor;\n\t\t\t\tcontrol.ThemeName = ThemeName;\n\t\t\t\tcontrol.StyleManager = this;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tUpdateForm();\n\t\t\t}\n\t\t}\n\n\t\t#endregion\n\n\t\t#region Internal Vars\n\n\t\tprivate Style _style;\n\t\tprivate Form _metroForm;\n\t\tprivate string _customTheme;\n\n\t\t#endregion Internal Vars\n\n\t\t#region Properties\n\n\t\t/// <summary>\n\t\t/// Gets or sets the The Author name associated with the theme.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the The Author name associated with the theme.\")]\n\t\tpublic string ThemeAuthor { get; set; }\n\n\t\t/// <summary>\n\t\t/// Gets or sets the The Theme name associated with the theme.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the The Theme name associated with the theme.\")]\n\t\tpublic string ThemeName { get; set; }\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets the form (MetroForm) to Apply themes for.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the form (MetroForm) to Apply themes for.\")]\n\n\t\tpublic Form MetroForm\n\t\t{\n\t\t\tget => _metroForm;\n\t\t\tset\n\t\t\t{\n\t\t\t\tif (_metroForm != null)\n\t\t\t\t\treturn;\n\n\t\t\t\t_metroForm = value;\n\t\t\t\t_metroForm.ControlAdded += ControlAdded;\n\t\t\t\tUpdateForm();\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets the style for the button.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the style.\")]\n\t\tpublic Style Style\n\t\t{\n\t\t\tget => _style;\n\t\t\tset\n\t\t\t{\n\t\t\t\t_style = value;\n\t\t\t\tswitch (value)\n\t\t\t\t{\n\t\t\t\t\tcase Style.Light:\n\t\t\t\t\t\tThemeAuthor = \"Narwin\";\n\t\t\t\t\t\tThemeName = \"MetroLight\";\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase Style.Dark:\n\t\t\t\t\t\tThemeAuthor = \"Narwin\";\n\t\t\t\t\t\tThemeName = \"MetroDark\";\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tUpdateForm();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets the custom theme file controls.\n\t\t/// </summary>\n\t\t[Editor(typeof(FileNamesEditor), typeof(UITypeEditor)), Category(\"MetroSet Framework\"), Description(\"Gets or sets the custom theme file.\")]\n\t\tpublic string CustomTheme\n\t\t{\n\t\t\tget => _customTheme;\n\t\t\tset\n\t\t\t{\n\t\t\t\tif (Style == Style.Custom)\n\t\t\t\t{\n\t\t\t\t\tProperties.Settings.Default.ThemeFile = value;\n\t\t\t\t\tProperties.Settings.Default.Save();\n\t\t\t\t\tControlProperties(value);\n\t\t\t\t}\n\t\t\t\t_customTheme = value;\n\t\t\t}\n\t\t}\n\n\t\t#endregion Properties\n\n\t\t#region Open Theme\n\n\t\t/// <summary>\n\t\t/// The Method to execute the FileNamesEditor and open the dialog of importing the custom theme.\n\t\t/// </summary>\n\t\tpublic void OpenTheme()\n\t\t{\n\t\t\tStyle = Style.Custom;\n\t\t\tusing (var ofd = new OpenFileDialog { Filter = @\"Xml File (*.xml)|*.xml\" })\n\t\t\t{\n\t\t\t\tif (ofd.ShowDialog() != DialogResult.OK)\n\t\t\t\t{\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tCustomTheme = ofd.FileName;\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// The Method for setting the custom theme up.\n\t\t/// </summary>\n\t\t/// <param name=\"path\">The Custom theme file path.</param>\n\t\tpublic void SetTheme(string path)\n\t\t{\n\t\t\tStyle = Style.Custom;\n\t\t\tCustomTheme = path;\n\t\t}\n\n\t\t/// <summary>\n\t\t/// The Method to write the them file from resources to templates folder.\n\t\t/// </summary>\n\t\t/// <param name=\"str\">the theme content</param>\n\t\t/// <returns>The Sorted theme path in templates folder.</returns>\n\t\tprivate string ThemeFilePath(string str)\n\t\t{\n\t\t\tvar path = $\"{Environment.GetFolderPath(Environment.SpecialFolder.Templates) + @\"\\ThemeFile.xml\"}\";\n\t\t\tFile.WriteAllText(path, str);\n\t\t\treturn path;\n\t\t}\n\n\t\t#endregion Open Theme\n\n\t\t#region Dictionaries\n\n\t\t#region Declartions\n\n\t\t/// <summary>\n\t\t/// The Button properties from custom theme will be stored into this dictionary.\n\t\t/// </summary>\n\t\tpublic Dictionary<string, object> ButtonDictionary;\n\n\t\t/// <summary>\n\t\t/// The DefaultButton properties from custom theme will be stored into this dictionary.\n\t\t/// </summary>\n\t\tpublic Dictionary<string, object> DefaultButtonDictionary;\n\n\t\t/// <summary>\n\t\t/// The Label properties from custom theme will be stored into this dictionary.\n\t\t/// </summary>\n\t\tpublic Dictionary<string, object> LabelDictionary;\n\n\t\t/// <summary>\n\t\t/// The LinkLabel properties from custom theme will be stored into this dictionary.\n\t\t/// </summary>\n\t\tpublic Dictionary<string, object> LinkLabelDictionary;\n\n\t\t/// <summary>\n\t\t/// The TextBox properties from custom theme will be stored into this dictionary.\n\t\t/// </summary>\n\t\tpublic Dictionary<string, object> TextBoxDictionary;\n\n\t\t/// <summary>\n\t\t/// The RichTextBox properties from custom theme will be stored into this dictionary.\n\t\t/// </summary>\n\t\tpublic Dictionary<string, object> RichTextBoxDictionary;\n\n\t\t/// <summary>\n\t\t/// The ComboBox properties from custom theme will be stored into this dictionary.\n\t\t/// </summary>\n\t\tpublic Dictionary<string, object> ComboBoxDictionary;\n\n\t\t/// <summary>\n\t\t/// The Form properties from custom theme will be stored into this dictionary.\n\t\t/// </summary>\n\t\tpublic Dictionary<string, object> FormDictionary;\n\n\t\t/// <summary>\n\t\t/// The Badge properties from custom theme will be stored into this dictionary.\n\t\t/// </summary>\n\t\tpublic Dictionary<string, object> BadgeDictionary;\n\n\t\t/// <summary>\n\t\t/// The Divider properties from custom theme will be stored into this dictionary.\n\t\t/// </summary>\n\t\tpublic Dictionary<string, object> DividerDictionary;\n\n\t\t/// <summary>\n\t\t/// The CheckBox properties from custom theme will be stored into this dictionary.\n\t\t/// </summary>\n\t\tpublic Dictionary<string, object> CheckBoxDictionary;\n\n\t\t/// <summary>\n\t\t/// The RadioButton properties from custom theme will be stored into this dictionary.\n\t\t/// </summary>\n\t\tpublic Dictionary<string, object> RadioButtonDictionary;\n\n\t\t/// <summary>\n\t\t/// The Switch properties from custom theme will be stored into this dictionary.\n\t\t/// </summary>\n\t\tpublic Dictionary<string, object> SwitchBoxDictionary;\n\n\t\t/// <summary>\n\t\t/// The ToolTip properties from custom theme will be stored into this dictionary.\n\t\t/// </summary>\n\t\tpublic Dictionary<string, object> ToolTipDictionary;\n\n\t\t/// <summary>\n\t\t/// The ToolTip properties from custom theme will be stored into this dictionary.\n\t\t/// </summary>\n\t\tpublic Dictionary<string, object> NumericDictionary;\n\n\t\t/// <summary>\n\t\t/// The ToolTip properties from custom theme will be stored into this dictionary.\n\t\t/// </summary>\n\t\tpublic Dictionary<string, object> EllipseDictionary;\n\n\t\t/// <summary>\n\t\t/// The Tile properties from custom theme will be stored into this dictionary.\n\t\t/// </summary>\n\t\tpublic Dictionary<string, object> TileDictionary;\n\n\t\t/// <summary>\n\t\t/// The Tile properties from custom theme will be stored into this dictionary.\n\t\t/// </summary>\n\t\tpublic Dictionary<string, object> ProgressDictionary;\n\n\t\t/// <summary>\n\t\t/// The ControlBox properties from custom theme will be stored into this dictionary.\n\t\t/// </summary>\n\t\tpublic Dictionary<string, object> ControlBoxDictionary;\n\n\t\t/// <summary>\n\t\t/// The TabControl properties from custom theme will be stored into this dictionary.\n\t\t/// </summary>\n\t\tpublic Dictionary<string, object> TabControlDictionary;\n\n\t\t/// <summary>\n\t\t/// The ScrollBar properties from custom theme will be stored into this dictionary.\n\t\t/// </summary>\n\t\tpublic Dictionary<string, object> ScrollBarDictionary;\n\n\t\t/// <summary>\n\t\t/// The Panel properties from custom theme will be stored into this dictionary.\n\t\t/// </summary>\n\t\tpublic Dictionary<string, object> PanelDictionary;\n\n\t\t/// <summary>\n\t\t/// The TrackBar properties from custom theme will be stored into this dictionary.\n\t\t/// </summary>\n\t\tpublic Dictionary<string, object> TrackBarDictionary;\n\n\t\t/// <summary>\n\t\t/// The ContextMenuStrip properties from custom theme will be stored into this dictionary.\n\t\t/// </summary>\n\t\tpublic Dictionary<string, object> ContextMenuDictionary;\n\n\t\t/// <summary>\n\t\t/// The ListBox properties from custom theme will be stored into this dictionary.\n\t\t/// </summary>\n\t\tpublic Dictionary<string, object> ListBoxDictionary;\n\n\t\t/// <summary>\n\t\t/// The ListBox properties from custom theme will be stored into this dictionary.\n\t\t/// </summary>\n\t\tpublic Dictionary<string, object> DataGridDictionary;\n\n\n\t\t#endregion\n\n\t\t#region Methods \n\n\t\tprivate void Clear()\n\t\t{\n\t\t\tButtonDictionary.Clear();\n\t\t\tDefaultButtonDictionary.Clear();\n\t\t\tFormDictionary.Clear();\n\t\t\tLabelDictionary.Clear();\n\t\t\tTextBoxDictionary.Clear();\n\t\t\tLabelDictionary.Clear();\n\t\t\tLinkLabelDictionary.Clear();\n\t\t\tBadgeDictionary.Clear();\n\t\t\tDividerDictionary.Clear();\n\t\t\tCheckBoxDictionary.Clear();\n\t\t\tRadioButtonDictionary.Clear();\n\t\t\tSwitchBoxDictionary.Clear();\n\t\t\tToolTipDictionary.Clear();\n\t\t\tRichTextBoxDictionary.Clear();\n\t\t\tComboBoxDictionary.Clear();\n\t\t\tNumericDictionary.Clear();\n\t\t\tEllipseDictionary.Clear();\n\t\t\tTileDictionary.Clear();\n\t\t\tProgressDictionary.Clear();\n\t\t\tControlBoxDictionary.Clear();\n\t\t\tTabControlDictionary.Clear();\n\t\t\tScrollBarDictionary.Clear();\n\t\t\tPanelDictionary.Clear();\n\t\t\tTrackBarDictionary.Clear();\n\t\t\tContextMenuDictionary.Clear();\n\t\t\tListBoxDictionary.Clear();\n\t\t\tDataGridDictionary.Clear();\n\t\t}\n\n\t\t#endregion\n\n\t\t#region Evaluate\n\n\t\tprivate void InitializeDictionaries()\n\t\t{\n\t\t\tButtonDictionary = new Dictionary<string, object>();\n\t\t\tDefaultButtonDictionary = new Dictionary<string, object>();\n\t\t\tLabelDictionary = new Dictionary<string, object>();\n\t\t\tLinkLabelDictionary = new Dictionary<string, object>();\n\t\t\tTextBoxDictionary = new Dictionary<string, object>();\n\t\t\tRichTextBoxDictionary = new Dictionary<string, object>();\n\t\t\tFormDictionary = new Dictionary<string, object>();\n\t\t\tBadgeDictionary = new Dictionary<string, object>();\n\t\t\tDividerDictionary = new Dictionary<string, object>();\n\t\t\tCheckBoxDictionary = new Dictionary<string, object>();\n\t\t\tRadioButtonDictionary = new Dictionary<string, object>();\n\t\t\tSwitchBoxDictionary = new Dictionary<string, object>();\n\t\t\tToolTipDictionary = new Dictionary<string, object>();\n\t\t\tComboBoxDictionary = new Dictionary<string, object>();\n\t\t\tNumericDictionary = new Dictionary<string, object>();\n\t\t\tEllipseDictionary = new Dictionary<string, object>();\n\t\t\tTileDictionary = new Dictionary<string, object>();\n\t\t\tProgressDictionary = new Dictionary<string, object>();\n\t\t\tControlBoxDictionary = new Dictionary<string, object>();\n\t\t\tTabControlDictionary = new Dictionary<string, object>();\n\t\t\tScrollBarDictionary = new Dictionary<string, object>();\n\t\t\tPanelDictionary = new Dictionary<string, object>();\n\t\t\tTrackBarDictionary = new Dictionary<string, object>();\n\t\t\tContextMenuDictionary = new Dictionary<string, object>();\n\t\t\tListBoxDictionary = new Dictionary<string, object>();\n\t\t\tDataGridDictionary = new Dictionary<string, object>();\n\t\t}\n\n\t\t#endregion\n\n\t\t#endregion\n\n\t\t#region Reader\n\n\t\t/// <summary>\n\t\t/// Reads the theme file and put elements properties to dictionaries.\n\t\t/// </summary>\n\t\t/// <param name=\"path\">The File path.</param>\n\t\tprivate void ControlProperties(string path)\n\t\t{\n\t\t\t// We clear every dictionary for avoid the \"the key is already exist in dictionary\" exception.\n\n\t\t\tClear();\n\n\t\t\t// Here we refill the dictionaries with information we get in custom theme.\n\n\t\t\tFormDictionary = GetValues(path, \"Form\");\n\n\t\t\tButtonDictionary = GetValues(path, \"Button\");\n\n\t\t\tDefaultButtonDictionary = GetValues(path, \"DefaultButton\");\n\n\t\t\tLabelDictionary = GetValues(path, \"Label\");\n\n\t\t\tLinkLabelDictionary = GetValues(path, \"LinkLabel\");\n\n\t\t\tBadgeDictionary = GetValues(path, \"Badge\");\n\n\t\t\tDividerDictionary = GetValues(path, \"Divider\");\n\n\t\t\tCheckBoxDictionary = GetValues(path, \"CheckBox\");\n\n\t\t\tRadioButtonDictionary = GetValues(path, \"RadioButton\");\n\n\t\t\tSwitchBoxDictionary = GetValues(path, \"SwitchBox\");\n\n\t\t\tToolTipDictionary = GetValues(path, \"ToolTip\");\n\n\t\t\tTextBoxDictionary = GetValues(path, \"TextBox\");\n\n\t\t\tRichTextBoxDictionary = GetValues(path, \"RichTextBox\");\n\n\t\t\tComboBoxDictionary = GetValues(path, \"ComboBox\");\n\n\t\t\tNumericDictionary = GetValues(path, \"Numeric\");\n\n\t\t\tEllipseDictionary = GetValues(path, \"Ellipse\");\n\n\t\t\tTileDictionary = GetValues(path, \"Tile\");\n\n\t\t\tProgressDictionary = GetValues(path, \"Progress\");\n\n\t\t\tControlBoxDictionary = GetValues(path, \"ControlBox\");\n\n\t\t\tTabControlDictionary = GetValues(path, \"TabControl\");\n\n\t\t\tScrollBarDictionary = GetValues(path, \"ScrollBar\");\n\n\t\t\tPanelDictionary = GetValues(path, \"Panel\");\n\n\t\t\tTrackBarDictionary = GetValues(path, \"TrackBar\");\n\n\t\t\tContextMenuDictionary = GetValues(path, \"ContextMenu\");\n\n\t\t\tListBoxDictionary = GetValues(path, \"ListBox\");\n\n\t\t\tDataGridDictionary = GetValues(path, \"DataGrid\");\n\n\t\t\tThemeDetailsReader(path);\n\n\t\t\tUpdateForm();\n\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// The Method get the custom theme name and author.\n\t\t/// </summary>\n\t\t/// <param name=\"path\">The Path of the custom theme file.</param>\n\t\tprivate void ThemeDetailsReader(string path)\n\t\t{\n\t\t\tforeach (var item in GetValues(path, \"Theme\"))\n\t\t\t{\n\t\t\t\tswitch (item.Key)\n\t\t\t\t{\n\t\t\t\t\tcase \"Name\":\n\t\t\t\t\t\tThemeName = item.Value.ToString();\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"Author\":\n\t\t\t\t\t\tThemeAuthor = item.Value.ToString();\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// The Method to load the custom xml theme file and add a childnodes from a specific node into a dectionary. \n\t\t/// </summary>\n\t\t/// <param name=\"path\">The Path of custom theme file (XML file).</param>\n\t\t/// <param name=\"nodename\">The Node name to get the childnodes from.</param>\n\t\t/// <returns>The Dictionary of childnodes names and values of a specific node.</returns>\n\t\tprivate Dictionary<string, object> GetValues(string path, string nodename)\n\t\t{\n\t\t\ttry\n\t\t\t{\n\t\t\t\tvar dict = new Dictionary<string, object>();\n\t\t\t\tvar doc = new XmlDocument();\n\t\t\t\tif (File.Exists(path))\n\t\t\t\t\tdoc.Load(path);\n\t\t\t\tif (doc.DocumentElement == null)\n\t\t\t\t{ return null; }\n\t\t\t\tvar xmlNode = doc.SelectSingleNode($\"/MetroSetTheme/{nodename}\");\n\t\t\t\tif (xmlNode == null)\n\t\t\t\t\treturn dict;\n\t\t\t\tforeach (XmlNode node in xmlNode.ChildNodes)\n\t\t\t\t\tdict.Add(node.Name, node.InnerText);\n\n\t\t\t\treturn dict;\n\t\t\t}\n\t\t\tcatch\n\t\t\t{\n\t\t\t\treturn null;\n\t\t\t}\n\t\t}\n\n\n\t\t#endregion Reader\n\n\t\t#region UITypeEditor\n\n\t\t/// <summary>\n\t\t/// Dialog Type For Opening the theme.\n\t\t/// </summary>\n\t\tpublic class FileNamesEditor : UITypeEditor\n\t\t{\n\t\t\tprivate OpenFileDialog _ofd;\n\n\t\t\tpublic override UITypeEditorEditStyle GetEditStyle(ITypeDescriptorContext context)\n\t\t\t{\n\t\t\t\treturn UITypeEditorEditStyle.Modal;\n\t\t\t}\n\n\t\t\tpublic override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value)\n\t\t\t{\n\t\t\t\tif (context == null || provider == null)\n\t\t\t\t\treturn base.EditValue(context, provider, value);\n\t\t\t\tvar editorService =\n\t\t\t\t\t(IWindowsFormsEditorService)\n\t\t\t\t\tprovider.GetService(typeof(IWindowsFormsEditorService));\n\t\t\t\tif (editorService == null)\n\t\t\t\t\treturn base.EditValue(context, provider, value);\n\t\t\t\t_ofd = new OpenFileDialog\n\t\t\t\t{\n\t\t\t\t\tFilter = @\"Xml File (*.xml)|*.xml\",\n\t\t\t\t};\n\t\t\t\treturn _ofd.ShowDialog() == DialogResult.OK ? _ofd.FileName : base.EditValue(context, provider, value);\n\t\t\t}\n\t\t}\n\n\t\t#endregion\n\n\t}\n}"
  },
  {
    "path": "MetroSet UI/Controls/MetroSetBadge.cs",
    "content": "﻿/*\n* MetroSet UI - MetroSet UI Framework\n* \n* The MIT License (MIT)\n* Copyright (c) 2017 Narwin, https://github.com/N-a-r-w-i-n\n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of \n* this software and associated documentation files (the \"Software\"), to deal in the \n* Software without restriction, including without limitation the rights to use, copy, \n* modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, \n* and to permit persons to whom the Software is furnished to do so, subject to the \n* following conditions:\n* \n* The above copyright notice and this permission notice shall be included in \n* all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, \n* INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A \n* PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT \n* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF \n* CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE \n* OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n*/\n\nusing System;\nusing System.ComponentModel;\nusing System.Drawing;\nusing System.Drawing.Drawing2D;\nusing System.Drawing.Text;\nusing System.Runtime.InteropServices;\nusing System.Windows.Forms;\nusing MetroSet_UI.Components;\nusing MetroSet_UI.Design;\nusing MetroSet_UI.Enums;\nusing MetroSet_UI.Extensions;\nusing MetroSet_UI.Interfaces;\n\nnamespace MetroSet_UI.Controls\n{\n\t[ToolboxItem(true)]\n\t[ToolboxBitmap(typeof(MetroSetBadge), \"Bitmaps.Button.bmp\")]\n\t[Designer(typeof(MetroSetBadgeDesigner))]\n\t[DefaultEvent(\"Click\")]\n\t[DefaultProperty(\"Text\")]\n\t[ComVisible(true)]\n\tpublic class MetroSetBadge : Control, IMetroSetControl\n\t{\n\n\t\t#region Interfaces\n\n\t\t/// <summary>\n\t\t/// Gets or sets the style associated with the control.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the style associated with the control.\")]\n\t\tpublic Style Style\n\t\t{\n\t\t\tget => StyleManager?.Style ?? _style;\n\t\t\tset\n\t\t\t{\n\t\t\t\t_style = value;\n\t\t\t\tswitch (value)\n\t\t\t\t{\n\t\t\t\t\tcase Style.Light:\n\t\t\t\t\t\tApplyTheme();\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase Style.Dark:\n\t\t\t\t\t\tApplyTheme(Style.Dark);\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase Style.Custom:\n\t\t\t\t\t\tApplyTheme(Style.Custom);\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tApplyTheme();\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tInvalidate();\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets the The Author name associated with the theme.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the The Author name associated with the theme.\")]\n\t\tpublic string ThemeAuthor { get; set; }\n\n\t\t/// <summary>\n\t\t/// Gets or sets the The Theme name associated with the theme.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the The Theme name associated with the theme.\")]\n\t\tpublic string ThemeName { get; set; }\n\n\t\t/// <summary>\n\t\t/// Gets or sets the Style Manager associated with the control.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the Style Manager associated with the control.\")]\n\t\tpublic StyleManager StyleManager\n\t\t{\n\t\t\tget => _styleManager;\n\t\t\tset\n\t\t\t{\n\t\t\t\t_styleManager = value;\n\t\t\t\tInvalidate();\n\t\t\t}\n\t\t}\n\n\t\t#endregion Interfaces\n\n\t\t#region Global Vars\n\n\t\tprivate readonly Methods _mth;\n\t\tprivate readonly Utilites _utl;\n\n\t\t#endregion Global Vars\n\n\t\t#region Internal Vars\n\n\t\tprivate MouseMode _state;\n\t\tprivate Style _style;\n\t\tprivate StyleManager _styleManager;\n\n\t\tprivate BadgeAlign _badgeAlignment;\n\t\tprivate string _badgeText;\n\t\tprivate Color _normalColor;\n\t\tprivate Color _normalBorderColor;\n\t\tprivate Color _normalTextColor;\n\t\tprivate Color _hoverColor;\n\t\tprivate Color _hoverBorderColor;\n\t\tprivate Color _hoverTextColor;\n\t\tprivate Color _pressColor;\n\t\tprivate Color _pressBorderColor;\n\t\tprivate Color _pressTextColor;\n\t\tprivate Color _disabledBackColor;\n\t\tprivate Color _disabledForeColor;\n\t\tprivate Color _disabledBorderColor;\n\t\tprivate Color _normalBadgeColor;\n\t\tprivate Color _normalBadgeTextColor;\n\t\tprivate Color _hoverBadgeColor;\n\t\tprivate Color _hoverBadgeTextColor;\n\t\tprivate Color _pressBadgeColor;\n\t\tprivate Color _pressBadgeTextColor;\n\n\t\t#endregion Internal Vars\n\n\t\t#region Constructors\n\n\t\tpublic MetroSetBadge()\n\t\t{\n\t\t\tSetStyle(\n\t\t\t\tControlStyles.AllPaintingInWmPaint |\n\t\t\t\tControlStyles.ResizeRedraw | ControlStyles.UserPaint |\n\t\t\t\tControlStyles.OptimizedDoubleBuffer |\n\t\t\t\tControlStyles.SupportsTransparentBackColor, true);\n\t\t\tUpdateStyles();\n\t\t\tbase.Font = MetroSetFonts.Light(10);\n\t\t\tbase.BackColor = Color.Transparent;\n\t\t\t_badgeAlignment = BadgeAlign.TopRight;\n\t\t\t_badgeText = \"3\";\n\t\t\t_utl = new Utilites();\n\t\t\t_mth = new Methods();\n\t\t\tApplyTheme();\n\t\t}\n\n\t\t#endregion Constructors\n\n\t\t#region Properties\n\n\t\t/// <summary>\n\t\t/// Gets or sets the badge alignment associated with the control.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the badge alignment associated with the control.\")]\n\t\tpublic BadgeAlign BadgeAlignment\n\t\t{\n\t\t\tget { return _badgeAlignment; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_badgeAlignment = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets the badge text associated with the control.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the badge text associated with the control.\")]\n\t\tpublic string BadgeText\n\t\t{\n\t\t\tget { return _badgeText; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_badgeText = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Handling Control Enable state to detect the disability state.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\tpublic new bool Enabled\n\t\t{\n\t\t\tget => base.Enabled;\n\t\t\tset\n\t\t\t{\n\t\t\t\tbase.Enabled = value;\n\t\t\t\tif (value == false)\n\t\t\t\t{\n\t\t\t\t\t_state = MouseMode.Disabled;\n\t\t\t\t}\n\t\t\t\tInvalidate();\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets the control background color in normal mouse sate.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\t[Description(\"Gets or sets the control background color in normal mouse sate.\")]\n\t\tpublic Color NormalColor\n\t\t{\n\t\t\tget { return _normalColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_normalColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets the control border color in normal mouse sate.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\t[Description(\"Gets or sets the control border color in normal mouse sate.\")]\n\t\tpublic Color NormalBorderColor\n\t\t{\n\t\t\tget { return _normalBorderColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_normalBorderColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets the control Text color in normal mouse sate.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\t[Description(\"Gets or sets the control Text color in normal mouse sate.\")]\n\t\tpublic Color NormalTextColor\n\t\t{\n\t\t\tget { return _normalTextColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_normalTextColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets the control background color in hover mouse sate.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\t[Description(\"Gets or sets the control background color in hover mouse sate.\")]\n\t\tpublic Color HoverColor\n\t\t{\n\t\t\tget { return _hoverColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_hoverColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets the control border color in hover mouse sate.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\t[Description(\"Gets or sets the control border color in hover mouse sate.\")]\n\t\tpublic Color HoverBorderColor\n\t\t{\n\t\t\tget { return _hoverBorderColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_hoverBorderColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets the control Text color in hover mouse sate.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\t[Description(\"Gets or sets the control Text color in hover mouse sate.\")]\n\t\tpublic Color HoverTextColor\n\t\t{\n\t\t\tget { return _hoverTextColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_hoverTextColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets the control background color in pushed mouse sate.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\t[Description(\"Gets or sets the control background color in pushed mouse sate.\")]\n\t\tpublic Color PressColor\n\t\t{\n\t\t\tget { return _pressColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_pressColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets the control border color in pushed mouse sate.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\t[Description(\"Gets or sets the control border color in pushed mouse sate.\")]\n\t\tpublic Color PressBorderColor\n\t\t{\n\t\t\tget { return _pressBorderColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_pressBorderColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets the control Text color in pushed mouse sate.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\t[Description(\"Gets or sets the control Text color in pushed mouse sate.\")]\n\t\tpublic Color PressTextColor\n\t\t{\n\t\t\tget { return _pressTextColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_pressTextColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets backcolor used by the control while disabled.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\t[Description(\"Gets or sets backcolor used by the control while disabled.\")]\n\t\tpublic Color DisabledBackColor\n\t\t{\n\t\t\tget { return _disabledBackColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_disabledBackColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets the forecolor of the control whenever while disabled.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\t[Description(\"Gets or sets the forecolor of the control whenever while disabled.\")]\n\t\tpublic Color DisabledForeColor\n\t\t{\n\t\t\tget { return _disabledForeColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_disabledForeColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets the border color of the control while disabled.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\t[Description(\"Gets or sets the border color of the control while disabled.\")]\n\t\tpublic Color DisabledBorderColor\n\t\t{\n\t\t\tget { return _disabledBorderColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_disabledBorderColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets the Badge background color in normal mouse sate.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\t[Description(\"Gets or sets the Badge background color in normal mouse sate.\")]\n\t\tpublic Color NormalBadgeColor\n\t\t{\n\t\t\tget { return _normalBadgeColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_normalBadgeColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets the Badge Text color in normal mouse sate.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\t[Description(\"Gets or sets the Badge Text color in normal mouse sate.\")]\n\t\tpublic Color NormalBadgeTextColor\n\t\t{\n\t\t\tget { return _normalBadgeTextColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_normalBadgeTextColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets the Badge background color in hover mouse sate.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\t[Description(\"Gets or sets the Badge background color in hover mouse sate.\")]\n\t\tpublic Color HoverBadgeColor\n\t\t{\n\t\t\tget { return _hoverBadgeColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_hoverBadgeColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets the Badge Text color in hover mouse sate.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\t[Description(\"Gets or sets the Badge Text color in hover mouse sate.\")]\n\t\tpublic Color HoverBadgeTextColor\n\t\t{\n\t\t\tget { return _hoverBadgeTextColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_hoverBadgeTextColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets the Badge background color in pushed mouse sate.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\t[Description(\"Gets or sets the Badge background color in pushed mouse sate.\")]\n\t\tpublic Color PressBadgeColor\n\t\t{\n\t\t\tget { return _pressBadgeColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_pressBadgeColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets the Badge Text color in pushed mouse sate.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\t[Description(\"Gets or sets the Badge Text color in pushed mouse sate.\")]\n\t\tpublic Color PressBadgeTextColor\n\t\t{\n\t\t\tget { return _pressBadgeTextColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_pressBadgeTextColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\t\tprivate bool _isDerivedStyle = true;\n\n\t\t/// <summary>\n\t\t/// Gets or sets the whether this control reflect to parent form style.\n\t\t/// Set it to false if you want the style of this control be independent. \n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\t[Description(\"Gets or sets the whether this control reflect to parent(s) style. \\n \" +\n\t\t\t\t\t \"Set it to false if you want the style of this control be independent. \")]\n\t\tpublic bool IsDerivedStyle\n\t\t{\n\t\t\tget { return _isDerivedStyle; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_isDerivedStyle = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\t\t#endregion Properties\n\n\t\t#region Draw Control\n\n\t\tprotected override void OnPaint(PaintEventArgs e)\n\t\t{\n\t\t\tvar g = e.Graphics;\n\t\t\tRectangle r;\n\t\t\tRectangle badge;\n\t\t\tg.TextRenderingHint = TextRenderingHint.ClearTypeGridFit;\n\n\t\t\tswitch (BadgeAlignment)\n\t\t\t{\n\t\t\t\tcase BadgeAlign.Topleft:\n\t\t\t\t\tr = new Rectangle(18, 18, Width - 21, Height - 21);\n\t\t\t\t\tbadge = new Rectangle(5, 5, 29, 29);\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase BadgeAlign.TopRight:\n\t\t\t\t\tr = new Rectangle(0, 18, Width - 18, Height - 21);\n\t\t\t\t\tbadge = new Rectangle(Width - 35, 1, 29, 29);\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase BadgeAlign.BottmLeft:\n\t\t\t\t\tr = new Rectangle(18, 0, Width - 19, Height - 18);\n\t\t\t\t\tbadge = new Rectangle(1, Height - 35, 29, 29);\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase BadgeAlign.BottomRight:\n\t\t\t\t\tr = new Rectangle(0, 0, Width - 19, Height - 18);\n\t\t\t\t\tbadge = new Rectangle(Width - 35, Height - 35, 29, 29);\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tthrow new ArgumentOutOfRangeException();\n\t\t\t}\n\n\t\t\tswitch (_state)\n\t\t\t{\n\t\t\t\tcase MouseMode.Normal:\n\n\t\t\t\t\tusing (var bg = new SolidBrush(NormalColor))\n\t\t\t\t\tusing (var p = new Pen(NormalBorderColor))\n\t\t\t\t\tusing (var tb = new SolidBrush(NormalTextColor))\n\t\t\t\t\tusing (var bdgBrush = new SolidBrush(NormalBadgeColor))\n\t\t\t\t\tusing (var bdgtxtBrush = new SolidBrush(NormalBadgeTextColor))\n\t\t\t\t\t{\n\t\t\t\t\t\tg.FillRectangle(bg, r);\n\t\t\t\t\t\tg.DrawRectangle(p, r);\n\t\t\t\t\t\tg.DrawString(Text, Font, tb, r, _mth.SetPosition());\n\t\t\t\t\t\tSmoothingType(g);\n\t\t\t\t\t\tg.FillEllipse(bdgBrush, badge);\n\t\t\t\t\t\tg.DrawString(BadgeText, Font, bdgtxtBrush, badge, _mth.SetPosition());\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase MouseMode.Hovered:\n\n\t\t\t\t\tCursor = Cursors.Hand;\n\t\t\t\t\tusing (var bg = new SolidBrush(HoverColor))\n\t\t\t\t\tusing (var p = new Pen(HoverBorderColor))\n\t\t\t\t\tusing (var tb = new SolidBrush(HoverTextColor))\n\t\t\t\t\tusing (var bdgBrush = new SolidBrush(HoverBadgeColor))\n\t\t\t\t\tusing (var bdgtxtBrush = new SolidBrush(HoverBadgeTextColor))\n\t\t\t\t\t{\n\t\t\t\t\t\tg.FillRectangle(bg, r);\n\t\t\t\t\t\tg.DrawRectangle(p, r);\n\t\t\t\t\t\tg.DrawString(Text, Font, tb, r, _mth.SetPosition());\n\t\t\t\t\t\tSmoothingType(g);\n\t\t\t\t\t\tg.FillEllipse(bdgBrush, badge);\n\t\t\t\t\t\tg.DrawString(BadgeText, Font, bdgtxtBrush, badge, _mth.SetPosition());\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase MouseMode.Pushed:\n\n\t\t\t\t\tusing (var bg = new SolidBrush(PressColor))\n\t\t\t\t\tusing (var p = new Pen(PressBorderColor))\n\t\t\t\t\tusing (var tb = new SolidBrush(PressTextColor))\n\t\t\t\t\tusing (var bdgBrush = new SolidBrush(PressBadgeColor))\n\t\t\t\t\tusing (var bdgtxtBrush = new SolidBrush(PressBadgeTextColor))\n\t\t\t\t\t{\n\t\t\t\t\t\tg.FillRectangle(bg, r);\n\t\t\t\t\t\tg.DrawRectangle(p, r);\n\t\t\t\t\t\tg.DrawString(Text, Font, tb, r, _mth.SetPosition());\n\t\t\t\t\t\tSmoothingType(g);\n\t\t\t\t\t\tg.FillEllipse(bdgBrush, badge);\n\t\t\t\t\t\tg.DrawString(BadgeText, Font, bdgtxtBrush, badge, _mth.SetPosition());\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase MouseMode.Disabled:\n\n\t\t\t\t\tusing (var bg = new SolidBrush(DisabledBackColor))\n\t\t\t\t\tusing (var p = new Pen(DisabledBorderColor))\n\t\t\t\t\tusing (var tb = new SolidBrush(DisabledForeColor))\n\t\t\t\t\tusing (var bdgBrush = new SolidBrush(PressBadgeColor))\n\t\t\t\t\tusing (var bdgtxtBrush = new SolidBrush(PressBadgeTextColor))\n\t\t\t\t\t{\n\t\t\t\t\t\tg.FillRectangle(bg, r);\n\t\t\t\t\t\tg.DrawRectangle(p, r);\n\t\t\t\t\t\tg.DrawString(Text, Font, tb, r, _mth.SetPosition());\n\t\t\t\t\t\tSmoothingType(g);\n\t\t\t\t\t\tg.FillEllipse(bdgBrush, badge);\n\t\t\t\t\t\tg.DrawString(BadgeText, Font, bdgtxtBrush, badge, _mth.SetPosition());\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\t#endregion Draw Control\n\n\t\t#region ApplyTheme\n\n\t\t/// <summary>\n\t\t/// Gets or sets the style provided by the user.\n\t\t/// </summary>\n\t\t/// <param name=\"style\">The Style.</param>\n\t\tprivate void ApplyTheme(Style style = Style.Light)\n\t\t{\n\t\t\tif (!IsDerivedStyle)\n\t\t\t\treturn;\n\n\t\t\tswitch (style)\n\t\t\t{\n\t\t\t\tcase Style.Light:\n\t\t\t\t\tNormalColor = Color.FromArgb(238, 238, 238);\n\t\t\t\t\tNormalBorderColor = Color.FromArgb(204, 204, 204);\n\t\t\t\t\tNormalTextColor = Color.Black;\n\t\t\t\t\tHoverColor = Color.FromArgb(102, 102, 102);\n\t\t\t\t\tHoverBorderColor = Color.FromArgb(102, 102, 102);\n\t\t\t\t\tHoverTextColor = Color.White;\n\t\t\t\t\tPressColor = Color.FromArgb(51, 51, 51);\n\t\t\t\t\tPressBorderColor = Color.FromArgb(51, 51, 51);\n\t\t\t\t\tPressTextColor = Color.White;\n\t\t\t\t\tNormalBadgeColor = Color.FromArgb(65, 177, 225);\n\t\t\t\t\tNormalBadgeTextColor = Color.White;\n\t\t\t\t\tHoverBadgeColor = Color.FromArgb(85, 187, 245);\n\t\t\t\t\tHoverBadgeTextColor = Color.White;\n\t\t\t\t\tPressBadgeColor = Color.FromArgb(45, 147, 205);\n\t\t\t\t\tPressBadgeTextColor = Color.White;\n\t\t\t\t\tDisabledBackColor = Color.FromArgb(204, 204, 204);\n\t\t\t\t\tDisabledBorderColor = Color.FromArgb(155, 155, 155);\n\t\t\t\t\tDisabledForeColor = Color.FromArgb(136, 136, 136);\n\t\t\t\t\tThemeAuthor = \"Narwin\";\n\t\t\t\t\tThemeName = \"MetroLite\";\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase Style.Dark:\n\t\t\t\t\tNormalColor = Color.FromArgb(32, 32, 32);\n\t\t\t\t\tNormalBorderColor = Color.FromArgb(64, 64, 64);\n\t\t\t\t\tNormalTextColor = Color.FromArgb(204, 204, 204);\n\t\t\t\t\tHoverColor = Color.FromArgb(170, 170, 170);\n\t\t\t\t\tHoverBorderColor = Color.FromArgb(170, 170, 170);\n\t\t\t\t\tHoverTextColor = Color.White;\n\t\t\t\t\tPressColor = Color.FromArgb(240, 240, 240);\n\t\t\t\t\tPressBorderColor = Color.FromArgb(240, 240, 240);\n\t\t\t\t\tPressTextColor = Color.White;\n\t\t\t\t\tNormalBadgeColor = Color.FromArgb(65, 177, 225);\n\t\t\t\t\tNormalBadgeTextColor = Color.White;\n\t\t\t\t\tHoverBadgeColor = Color.FromArgb(85, 187, 245);\n\t\t\t\t\tHoverBadgeTextColor = Color.White;\n\t\t\t\t\tPressBadgeColor = Color.FromArgb(45, 147, 205);\n\t\t\t\t\tPressBadgeTextColor = Color.White;\n\t\t\t\t\tDisabledBackColor = Color.FromArgb(80, 80, 80);\n\t\t\t\t\tDisabledBorderColor = Color.FromArgb(109, 109, 109);\n\t\t\t\t\tDisabledForeColor = Color.FromArgb(109, 109, 109);\n\t\t\t\t\tThemeAuthor = \"Narwin\";\n\t\t\t\t\tThemeName = \"MetroDark\";\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase Style.Custom:\n\t\t\t\t\tif (StyleManager != null)\n\t\t\t\t\t\tforeach (var varkey in StyleManager.BadgeDictionary)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tif (varkey.Key == null)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tswitch (varkey.Key)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tcase \"NormalColor\":\n\t\t\t\t\t\t\t\t\tNormalColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\tcase \"NormalBorderColor\":\n\t\t\t\t\t\t\t\t\tNormalBorderColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\tcase \"NormalTextColor\":\n\t\t\t\t\t\t\t\t\tNormalTextColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\tcase \"HoverColor\":\n\t\t\t\t\t\t\t\t\tHoverColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\tcase \"HoverBorderColor\":\n\t\t\t\t\t\t\t\t\tHoverBorderColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\tcase \"HoverTextColor\":\n\t\t\t\t\t\t\t\t\tHoverTextColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\tcase \"PressColor\":\n\t\t\t\t\t\t\t\t\tPressColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\tcase \"PressBorderColor\":\n\t\t\t\t\t\t\t\t\tPressBorderColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\tcase \"PressTextColor\":\n\t\t\t\t\t\t\t\t\tPressTextColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\tcase \"NormalBadgeColor\":\n\t\t\t\t\t\t\t\t\tNormalBadgeColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\tcase \"NormalBadgeTextColor\":\n\t\t\t\t\t\t\t\t\tNormalBadgeTextColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\tcase \"HoverBadgeColor\":\n\t\t\t\t\t\t\t\t\tHoverBadgeColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\tcase \"HoverBadgeTextColor\":\n\t\t\t\t\t\t\t\t\tHoverBadgeTextColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\tcase \"PressBadgeColor\":\n\t\t\t\t\t\t\t\t\tPressBadgeColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\tcase \"PressBadgeTextColor\":\n\t\t\t\t\t\t\t\t\tPressBadgeTextColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\tcase \"DisabledBackColor\":\n\t\t\t\t\t\t\t\t\tDisabledBackColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\tcase \"DisabledBorderColor\":\n\t\t\t\t\t\t\t\t\tDisabledBorderColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\tcase \"DisabledForeColor\":\n\t\t\t\t\t\t\t\t\tDisabledForeColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\tInvalidate();\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tthrow new ArgumentOutOfRangeException(nameof(style), style, null);\n\t\t\t}\n\t\t}\n\n\t\t#endregion Theme Changing\n\n\t\t#region Events\n\n\t\t/// <summary>\n\t\t/// Handling mouse up event of the control.\n\t\t/// </summary>\n\t\t/// <param name=\"e\">MouseEventArgs</param>\n\t\tprotected override void OnMouseUp(MouseEventArgs e)\n\t\t{\n\t\t\tbase.OnMouseUp(e);\n\t\t\t_state = MouseMode.Hovered;\n\t\t\tInvalidate();\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Handling mouse down event of the control.\n\t\t/// </summary>\n\t\t/// <param name=\"e\">MouseEventArgs</param>\n\t\tprotected override void OnMouseDown(MouseEventArgs e)\n\t\t{\n\t\t\tbase.OnMouseUp(e);\n\t\t\t_state = MouseMode.Pushed;\n\t\t\tInvalidate();\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Handling mouse entering event of the control.\n\t\t/// </summary>\n\t\t/// <param name=\"e\">MouseEventArgs</param>\n\t\tprotected override void OnMouseEnter(EventArgs e)\n\t\t{\n\t\t\tbase.OnMouseEnter(e);\n\t\t\t_state = MouseMode.Hovered;\n\t\t\tInvalidate();\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Handling mouse leave event of the control.\n\t\t/// </summary>\n\t\t/// <param name=\"e\">EventArgs</param>\n\t\tprotected override void OnMouseLeave(EventArgs e)\n\t\t{\n\t\t\tbase.OnMouseEnter(e);\n\t\t\t_state = MouseMode.Normal;\n\t\t\tInvalidate();\n\t\t}\n\n\t\t#endregion Events\n\n\t\t#region Methods\n\n\t\t/// <summary>\n\t\t/// Sets the smoothingmode the the specific graphics.\n\t\t/// </summary>\n\t\t/// <param name=\"e\">Graphics to Set the effect.</param>\n\t\t/// <param name=\"state\">state of smoothingmode.</param>\n\t\tprivate void SmoothingType(Graphics e, SmoothingMode state = SmoothingMode.AntiAlias)\n\t\t{\n\t\t\te.SmoothingMode = state;\n\t\t}\n\n\t\t#endregion Methods\n\n\t}\n}"
  },
  {
    "path": "MetroSet UI/Controls/MetroSetButton.cs",
    "content": "﻿/*\n * MetroSet UI - MetroSet UI Framework\n * \n * The MIT License (MIT)\n * Copyright (c) 2017 Narwin, https://github.com/N-a-r-w-i-n\n * \n * Permission is hereby granted, free of charge, to any person obtaining a copy of \n * this software and associated documentation files (the \"Software\"), to deal in the \n * Software without restriction, including without limitation the rights to use, copy, \n * modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, \n * and to permit persons to whom the Software is furnished to do so, subject to the \n * following conditions:\n * \n * The above copyright notice and this permission notice shall be included in \n * all copies or substantial portions of the Software.\n * \n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, \n * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A \n * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT \n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF \n * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE \n * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nusing System;\nusing System.ComponentModel;\nusing System.Drawing;\nusing System.Drawing.Text;\nusing System.Windows.Forms;\nusing MetroSet_UI.Components;\nusing MetroSet_UI.Design;\nusing MetroSet_UI.Enums;\nusing MetroSet_UI.Extensions;\nusing MetroSet_UI.Interfaces;\n\nnamespace MetroSet_UI.Controls\n{\n\t[ToolboxItem(true)]\n\t[ToolboxBitmap(typeof(MetroSetButton), \"Bitmaps.Button.bmp\")]\n\t[Designer(typeof(MetroSetButtonDesigner))]\n\t[DefaultEvent(\"Click\")]\n\t[DefaultProperty(\"Text\")]\n\tpublic class MetroSetButton : Control, IMetroSetControl\n\t{\n\n\t\t#region Interfaces\n\n\t\t/// <summary>\n\t\t/// Gets or sets the style associated with the control.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the style associated with the control.\")]\n\t\tpublic Style Style\n\t\t{\n\t\t\tget => StyleManager?.Style ?? _style;\n\t\t\tset\n\t\t\t{\n\t\t\t\t_style = value;\n\t\t\t\tswitch (value)\n\t\t\t\t{\n\t\t\t\t\tcase Style.Light:\n\t\t\t\t\t\tApplyTheme();\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase Style.Dark:\n\t\t\t\t\t\tApplyTheme(Style.Dark);\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase Style.Custom:\n\t\t\t\t\t\tApplyTheme(Style.Custom);\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tApplyTheme();\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tInvalidate();\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets the The Author name associated with the theme.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the The Author name associated with the theme.\")]\n\t\tpublic string ThemeAuthor { get; set; }\n\n\t\t/// <summary>\n\t\t/// Gets or sets the The Theme name associated with the theme.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the The Theme name associated with the theme.\")]\n\t\tpublic string ThemeName { get; set; }\n\n\t\t/// <summary>\n\t\t/// Gets or sets the Style Manager associated with the control.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the Style Manager associated with the control.\")]\n\t\tpublic StyleManager StyleManager\n\t\t{\n\t\t\tget => _styleManager;\n\t\t\tset\n\t\t\t{\n\t\t\t\t_styleManager = value;\n\t\t\t\tInvalidate();\n\t\t\t}\n\t\t}\n\n\t\t#endregion Interfaces\n\n\t\t#region Global Vars\n\n\t\tprivate readonly Methods _mth;\n\t\tprivate readonly Utilites _utl;\n\n\t\t#endregion Global Vars\n\n\t\t#region Internal Vars\n\n\t\tprivate MouseMode _state;\n\t\tprivate Style _style;\n\t\tprivate StyleManager _styleManager;\n\n\t\tprivate Color _normalColor;\n\t\tprivate Color _normalBorderColor;\n\t\tprivate Color _normalTextColor;\n\t\tprivate Color _hoverColor;\n\t\tprivate Color _hoverBorderColor;\n\t\tprivate Color _hoverTextColor;\n\t\tprivate Color _pressColor;\n\t\tprivate Color _pressBorderColor;\n\t\tprivate Color _pressTextColor;\n\t\tprivate Color _disabledBackColor;\n\t\tprivate Color _disabledForeColor;\n\t\tprivate Color _disabledBorderColor;\n\n\t\t#endregion Internal Vars\n\n\t\t#region Constructors\n\n\t\tpublic MetroSetButton()\n\t\t{\n\t\t\tSetStyle(\n\t\t\t\tControlStyles.AllPaintingInWmPaint |\n\t\t\t\tControlStyles.ResizeRedraw | ControlStyles.UserPaint |\n\t\t\t\tControlStyles.OptimizedDoubleBuffer |\n\t\t\t\tControlStyles.SupportsTransparentBackColor, true);\n\t\t\tUpdateStyles();\n\t\t\tbase.Font = MetroSetFonts.Light(10);\n\t\t\t_utl = new Utilites();\n\t\t\t_mth = new Methods();\n\n\t\t\tApplyTheme();\n\t\t}\n\n\t\t#endregion Constructors\n\n\t\t#region Draw Control\n\n\t\tprotected override void OnPaint(PaintEventArgs e)\n\t\t{\n\t\t\tvar g = e.Graphics;\n\t\t\tvar r = new Rectangle(0, 0, Width - 1, Height - 1);\n\t\t\tg.TextRenderingHint = TextRenderingHint.ClearTypeGridFit;\n\n\t\t\tswitch (_state)\n\t\t\t{\n\t\t\t\tcase MouseMode.Normal:\n\n\t\t\t\t\tusing (var bg = new SolidBrush(NormalColor))\n\t\t\t\t\tusing (var p = new Pen(NormalBorderColor))\n\t\t\t\t\tusing (var tb = new SolidBrush(NormalTextColor))\n\t\t\t\t\t{\n\t\t\t\t\t\tg.FillRectangle(bg, r);\n\t\t\t\t\t\tg.DrawRectangle(p, r);\n\t\t\t\t\t\tg.DrawString(Text, Font, tb, r, _mth.SetPosition());\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase MouseMode.Hovered:\n\n\t\t\t\t\tCursor = Cursors.Hand;\n\t\t\t\t\tusing (var bg = new SolidBrush(HoverColor))\n\t\t\t\t\tusing (var p = new Pen(HoverBorderColor))\n\t\t\t\t\tusing (var tb = new SolidBrush(HoverTextColor))\n\t\t\t\t\t{\n\t\t\t\t\t\tg.FillRectangle(bg, r);\n\t\t\t\t\t\tg.DrawRectangle(p, r);\n\t\t\t\t\t\tg.DrawString(Text, Font, tb, r, _mth.SetPosition());\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase MouseMode.Pushed:\n\n\t\t\t\t\tusing (var bg = new SolidBrush(PressColor))\n\t\t\t\t\tusing (var p = new Pen(PressBorderColor))\n\t\t\t\t\tusing (var tb = new SolidBrush(PressTextColor))\n\t\t\t\t\t{\n\t\t\t\t\t\tg.FillRectangle(bg, r);\n\t\t\t\t\t\tg.DrawRectangle(p, r);\n\t\t\t\t\t\tg.DrawString(Text, Font, tb, r, _mth.SetPosition());\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase MouseMode.Disabled:\n\n\t\t\t\t\tusing (var bg = new SolidBrush(DisabledBackColor))\n\t\t\t\t\tusing (var p = new Pen(DisabledBorderColor))\n\t\t\t\t\tusing (var tb = new SolidBrush(DisabledForeColor))\n\t\t\t\t\t{\n\t\t\t\t\t\tg.FillRectangle(bg, r);\n\t\t\t\t\t\tg.DrawRectangle(p, r);\n\t\t\t\t\t\tg.DrawString(Text, Font, tb, r, _mth.SetPosition());\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tthrow new ArgumentOutOfRangeException();\n\t\t\t}\n\t\t}\n\n\t\t#endregion Draw Control\n\n\t\t#region ApplyTheme\n\n\t\t/// <summary>\n\t\t/// Gets or sets the style provided by the user.\n\t\t/// </summary>\n\t\t/// <param name=\"style\">The Style.</param>\n\t\tprivate void ApplyTheme(Style style = Style.Light)\n\t\t{\n\t\t\tif (!IsDerivedStyle)\n\t\t\t\treturn;\n\n\t\t\tswitch (style)\n\t\t\t{\n\t\t\t\tcase Style.Light:\n\t\t\t\t\tNormalColor = Color.FromArgb(65, 177, 225);\n\t\t\t\t\tNormalBorderColor = Color.FromArgb(65, 177, 225);\n\t\t\t\t\tNormalTextColor = Color.White;\n\t\t\t\t\tHoverColor = Color.FromArgb(95, 207, 255);\n\t\t\t\t\tHoverBorderColor = Color.FromArgb(95, 207, 255);\n\t\t\t\t\tHoverTextColor = Color.White;\n\t\t\t\t\tPressColor = Color.FromArgb(35, 147, 195);\n\t\t\t\t\tPressBorderColor = Color.FromArgb(35, 147, 195);\n\t\t\t\t\tPressTextColor = Color.White;\n\t\t\t\t\tDisabledBackColor = Color.FromArgb(120, 65, 177, 225);\n\t\t\t\t\tDisabledBorderColor = Color.FromArgb(120, 65, 177, 225);\n\t\t\t\t\tDisabledForeColor = Color.Gray;\n\t\t\t\t\tThemeAuthor = \"Narwin\";\n\t\t\t\t\tThemeName = \"MetroLite\";\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase Style.Dark:\n\t\t\t\t\tNormalColor = Color.FromArgb(65, 177, 225);\n\t\t\t\t\tNormalBorderColor = Color.FromArgb(65, 177, 225);\n\t\t\t\t\tNormalTextColor = Color.White;\n\t\t\t\t\tHoverColor = Color.FromArgb(95, 207, 255);\n\t\t\t\t\tHoverBorderColor = Color.FromArgb(95, 207, 255);\n\t\t\t\t\tHoverTextColor = Color.White;\n\t\t\t\t\tPressColor = Color.FromArgb(35, 147, 195);\n\t\t\t\t\tPressBorderColor = Color.FromArgb(35, 147, 195);\n\t\t\t\t\tPressTextColor = Color.White;\n\t\t\t\t\tDisabledBackColor = Color.FromArgb(120, 65, 177, 225);\n\t\t\t\t\tDisabledBorderColor = Color.FromArgb(120, 65, 177, 225);\n\t\t\t\t\tDisabledForeColor = Color.Gray;\n\t\t\t\t\tThemeAuthor = \"Narwin\";\n\t\t\t\t\tThemeName = \"MetroDark\";\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase Style.Custom:\n\t\t\t\t\tif (StyleManager != null)\n\t\t\t\t\t\tforeach (var varkey in StyleManager.ButtonDictionary)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tif ((varkey.Key == null) || varkey.Key == null)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tswitch (varkey.Key)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tcase \"NormalColor\":\n\t\t\t\t\t\t\t\t\tNormalColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\tcase \"NormalBorderColor\":\n\t\t\t\t\t\t\t\t\tNormalBorderColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\tcase \"NormalTextColor\":\n\t\t\t\t\t\t\t\t\tNormalTextColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\tcase \"HoverColor\":\n\t\t\t\t\t\t\t\t\tHoverColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\tcase \"HoverBorderColor\":\n\t\t\t\t\t\t\t\t\tHoverBorderColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\tcase \"HoverTextColor\":\n\t\t\t\t\t\t\t\t\tHoverTextColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\tcase \"PressColor\":\n\t\t\t\t\t\t\t\t\tPressColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\tcase \"PressBorderColor\":\n\t\t\t\t\t\t\t\t\tPressBorderColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\tcase \"PressTextColor\":\n\t\t\t\t\t\t\t\t\tPressTextColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\tcase \"DisabledBackColor\":\n\t\t\t\t\t\t\t\t\tDisabledBackColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\tcase \"DisabledBorderColor\":\n\t\t\t\t\t\t\t\t\tDisabledBorderColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\tcase \"DisabledForeColor\":\n\t\t\t\t\t\t\t\t\tDisabledForeColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\tInvalidate();\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tthrow new ArgumentOutOfRangeException(nameof(style), style, null);\n\t\t\t}\n\t\t}\n\n\t\t#endregion Theme Changing\n\n\t\t#region Properties\n\n\t\t/// <summary>\n\t\t/// I make BackColor inaccessible cause we have not use of it. \n\t\t/// </summary>\n\t\t[Browsable(false), EditorBrowsable(EditorBrowsableState.Never)]\n\t\tpublic override Color BackColor => Color.Transparent;\n\n\t\t/// <summary>\n\t\t/// Handling Control Enable state to detect the disability state.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\tpublic new bool Enabled\n\t\t{\n\t\t\tget => base.Enabled;\n\t\t\tset\n\t\t\t{\n\t\t\t\tbase.Enabled = value;\n\t\t\t\t_state = value ? MouseMode.Normal : MouseMode.Disabled;\n\t\t\t\tInvalidate();\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets the button background color in normal mouse sate.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\t[Description(\"Gets or sets the button background color in normal mouse sate.\")]\n\t\tpublic Color NormalColor\n\t\t{\n\t\t\tget { return _normalColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_normalColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets the button border color in normal mouse sate.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\t[Description(\"Gets or sets the button border color in normal mouse sate.\")]\n\t\tpublic Color NormalBorderColor\n\t\t{\n\t\t\tget { return _normalBorderColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_normalBorderColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets the button Text color in normal mouse sate.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\t[Description(\"Gets or sets the button Text color in normal mouse sate.\")]\n\t\tpublic Color NormalTextColor\n\t\t{\n\t\t\tget { return _normalTextColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_normalTextColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets the button background color in hover mouse sate.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\t[Description(\"Gets or sets the button background color in hover mouse sate.\")]\n\t\tpublic Color HoverColor\n\t\t{\n\t\t\tget { return _hoverColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_hoverColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets the button border color in hover mouse sate.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\t[Description(\"Gets or sets the button border color in hover mouse sate.\")]\n\t\tpublic Color HoverBorderColor\n\t\t{\n\t\t\tget { return _hoverBorderColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_hoverBorderColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets the button Text color in hover mouse sate.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\t[Description(\"Gets or sets the button Text color in hover mouse sate.\")]\n\t\tpublic Color HoverTextColor\n\t\t{\n\t\t\tget { return _hoverTextColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_hoverTextColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets the button background color in pushed mouse sate.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\t[Description(\"Gets or sets the button background color in pushed mouse sate.\")]\n\t\tpublic Color PressColor\n\t\t{\n\t\t\tget { return _pressColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_pressColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets the button border color in pushed mouse sate.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\t[Description(\"Gets or sets the button border color in pushed mouse sate.\")]\n\t\tpublic Color PressBorderColor\n\t\t{\n\t\t\tget { return _pressBorderColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_pressBorderColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets the button Text color in pushed mouse sate.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\t[Description(\"Gets or sets the button Text color in pushed mouse sate.\")]\n\t\tpublic Color PressTextColor\n\t\t{\n\t\t\tget { return _pressTextColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_pressTextColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets BackColor used by the control while disabled.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\t[Description(\"Gets or sets backcolor used by the control while disabled.\")]\n\t\tpublic Color DisabledBackColor\n\t\t{\n\t\t\tget { return _disabledBackColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_disabledBackColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets the ForeColor of the control whenever while disabled.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\t[Description(\"Gets or sets the forecolor of the control whenever while disabled.\")]\n\t\tpublic Color DisabledForeColor\n\t\t{\n\t\t\tget { return _disabledForeColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_disabledForeColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets the border color of the control while disabled.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\t[Description(\"Gets or sets the border color of the control while disabled.\")]\n\t\tpublic Color DisabledBorderColor\n\t\t{\n\t\t\tget { return _disabledBorderColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_disabledBorderColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\t\tprivate bool _isDerivedStyle = true;\n\n\t\t/// <summary>\n\t\t/// Gets or sets the whether this control reflect to parent form style.\n\t\t/// Set it to false if you want the style of this control be independent. \n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\t[Description(\"Gets or sets the whether this control reflect to parent(s) style. \\n \" +\n\t\t\t\t\t \"Set it to false if you want the style of this control be independent. \")]\n\t\tpublic bool IsDerivedStyle\n\t\t{\n\t\t\tget { return _isDerivedStyle; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_isDerivedStyle = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\t\t#endregion\n\n\t\t#region Events\n\n\t\t/// <summary>\n\t\t/// Handling mouse up event of the control.\n\t\t/// </summary>\n\t\t/// <param name=\"e\">MouseEventArgs</param>\n\t\tprotected override void OnMouseUp(MouseEventArgs e)\n\t\t{\n\t\t\tbase.OnMouseUp(e);\n\t\t\t_state = MouseMode.Hovered;\n\t\t\tInvalidate();\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Handling mouse down event of the control.\n\t\t/// </summary>\n\t\t/// <param name=\"e\">MouseEventArgs</param>\n\t\tprotected override void OnMouseDown(MouseEventArgs e)\n\t\t{\n\t\t\tbase.OnMouseUp(e);\n\t\t\t_state = MouseMode.Pushed;\n\t\t\tInvalidate();\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Handling mouse entering event of the control.\n\t\t/// </summary>\n\t\t/// <param name=\"e\">EventArgs</param>\n\t\tprotected override void OnMouseEnter(EventArgs e)\n\t\t{\n\t\t\tbase.OnMouseEnter(e);\n\t\t\t_state = MouseMode.Hovered;\n\t\t\tInvalidate();\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Handling mouse leave event of the control.\n\t\t/// </summary>\n\t\t/// <param name=\"e\">MouseEventArgs</param>\n\t\tprotected override void OnMouseLeave(EventArgs e)\n\t\t{\n\t\t\tbase.OnMouseEnter(e);\n\t\t\t_state = MouseMode.Normal;\n\t\t\tInvalidate();\n\t\t}\n\n\t\t#endregion Events\n\t}\n}"
  },
  {
    "path": "MetroSet UI/Controls/MetroSetCheckBox.cs",
    "content": "﻿/*\n* MetroSet UI - MetroSet UI Framework\n* \n* The MIT License (MIT)\n* Copyright (c) 2017 Narwin, https://github.com/N-a-r-w-i-n\n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of \n* this software and associated documentation files (the \"Software\"), to deal in the \n* Software without restriction, including without limitation the rights to use, copy, \n* modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, \n* and to permit persons to whom the Software is furnished to do so, subject to the \n* following conditions:\n* \n* The above copyright notice and this permission notice shall be included in \n* all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, \n* INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A \n* PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT \n* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF \n* CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE \n* OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n*/\n\nusing System;\nusing System.ComponentModel;\nusing System.Drawing;\nusing System.Drawing.Drawing2D;\nusing System.Drawing.Text;\nusing System.Windows.Forms;\nusing MetroSet_UI.Animates;\nusing MetroSet_UI.Components;\nusing MetroSet_UI.Design;\nusing MetroSet_UI.Enums;\nusing MetroSet_UI.Extensions;\nusing MetroSet_UI.Interfaces;\nusing MetroSet_UI.Native;\n\nnamespace MetroSet_UI.Controls\n{\n\n\t[ToolboxItem(true)]\n\t[ToolboxBitmap(typeof(MetroSetCheckBox), \"Bitmaps.CheckBox.bmp\")]\n\t[Designer(typeof(MetroSetCheckBoxDesigner))]\n\t[DefaultEvent(\"CheckedChanged\")]\n\t[DefaultProperty(\"Checked\")]\n\tpublic class MetroSetCheckBox : Control, IMetroSetControl, IDisposable\n\t{\n\t\t#region Interfaces\n\n\t\t/// <summary>\n\t\t/// Gets or sets the style associated with the control.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the style associated with the control.\")]\n\t\tpublic Style Style\n\t\t{\n\t\t\tget => StyleManager?.Style ?? _style;\n\t\t\tset\n\t\t\t{\n\t\t\t\t_style = value;\n\t\t\t\tswitch (value)\n\t\t\t\t{\n\t\t\t\t\tcase Style.Light:\n\t\t\t\t\t\tApplyTheme();\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase Style.Dark:\n\t\t\t\t\t\tApplyTheme(Style.Dark);\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase Style.Custom:\n\t\t\t\t\t\tApplyTheme(Style.Custom);\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tApplyTheme();\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tInvalidate();\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets the Style Manager associated with the control.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the Style Manager associated with the control.\")]\n\t\tpublic StyleManager StyleManager\n\t\t{\n\t\t\tget => _styleManager;\n\t\t\tset { _styleManager = value; Invalidate(); }\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets the The Author name associated with the theme.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the The Author name associated with the theme.\")]\n\t\tpublic string ThemeAuthor { get; set; }\n\n\t\t/// <summary>\n\t\t/// Gets or sets the The Theme name associated with the theme.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the The Theme name associated with the theme.\")]\n\t\tpublic string ThemeName { get; set; }\n\n\t\t#endregion Interfaces\n\n\t\t#region Global Vars\n\n\t\tprivate readonly Utilites _utl;\n\n\t\t#endregion Global Vars\n\n\t\t#region Internal Vars\n\n\t\tprivate Style _style;\n\t\tprivate StyleManager _styleManager;\n\t\tprivate bool _checked;\n\t\tprivate IntAnimate _animator;\n\n\t\tprivate SignStyle _signStyle = SignStyle.Sign;\n\t\tprivate Enums.CheckState _checkState;\n\t\tprivate Color _backgroundColor;\n\t\tprivate Color _borderColor;\n\t\tprivate Color _disabledBorderColor;\n\t\tprivate Color _checkSignColor;\n\n\t\t#endregion Internal Vars\n\n\t\t#region Constructors\n\n\t\tpublic MetroSetCheckBox()\n\t\t{\n\t\t\tSetStyle(\n\t\t\t\tControlStyles.ResizeRedraw |\n\t\t\t\tControlStyles.OptimizedDoubleBuffer |\n\t\t\t\tControlStyles.SupportsTransparentBackColor, true);\n\t\t\tUpdateStyles();\n\t\t\tbase.Font = MetroSetFonts.Light(10);\n\t\t\tbase.Cursor = Cursors.Hand;\n\t\t\tbase.BackColor = Color.Transparent;\n\t\t\t_utl = new Utilites();\n\t\t\t_animator = new IntAnimate();\n\t\t\t_animator.Setting(100, 0, 255);\n\t\t\t_animator.Update = (alpha) => Invalidate();\n\t\t\tApplyTheme();\n\t\t}\n\n\t\t#endregion Constructors\n\n\t\t#region ApplyTheme\n\n\t\t/// <summary>\n\t\t/// Gets or sets the style provided by the user.\n\t\t/// </summary>\n\t\t/// <param name=\"style\">The Style.</param>\n\t\tprivate void ApplyTheme(Style style = Style.Light)\n\t\t{\n\t\t\tif (!IsDerivedStyle)\n\t\t\t\treturn;\n\n\t\t\tswitch (style)\n\t\t\t{\n\t\t\t\tcase Style.Light:\n\t\t\t\t\tForeColor = Color.Black;\n\t\t\t\t\tBackgroundColor = Color.White;\n\t\t\t\t\tBorderColor = Color.FromArgb(155, 155, 155);\n\t\t\t\t\tDisabledBorderColor = Color.FromArgb(205, 205, 205);\n\t\t\t\t\tCheckSignColor = Color.FromArgb(65, 177, 225);\n\t\t\t\t\tThemeAuthor = \"Narwin\";\n\t\t\t\t\tThemeName = \"MetroLite\";\n\t\t\t\t\tUpdateProperties();\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase Style.Dark:\n\t\t\t\t\tForeColor = Color.FromArgb(170, 170, 170);\n\t\t\t\t\tBackgroundColor = Color.FromArgb(30, 30, 30);\n\t\t\t\t\tBorderColor = Color.FromArgb(155, 155, 155);\n\t\t\t\t\tDisabledBorderColor = Color.FromArgb(85, 85, 85);\n\t\t\t\t\tCheckSignColor = Color.FromArgb(65, 177, 225);\n\t\t\t\t\tThemeAuthor = \"Narwin\";\n\t\t\t\t\tThemeName = \"MetroDark\";\n\t\t\t\t\tUpdateProperties();\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase Style.Custom:\n\t\t\t\t\tif (StyleManager != null)\n\t\t\t\t\t\tforeach (var varkey in StyleManager.CheckBoxDictionary)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tswitch (varkey.Key)\n\t\t\t\t\t\t\t{\n\n\t\t\t\t\t\t\t\tcase \"ForeColor\":\n\t\t\t\t\t\t\t\t\tForeColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tcase \"BackColor\":\n\t\t\t\t\t\t\t\t\tBackgroundColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tcase \"BorderColor\":\n\t\t\t\t\t\t\t\t\tBorderColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tcase \"DisabledBorderColor\":\n\t\t\t\t\t\t\t\t\tDisabledBorderColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tcase \"CheckColor\":\n\t\t\t\t\t\t\t\t\tCheckSignColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tcase \"CheckedStyle\":\n\t\t\t\t\t\t\t\t\tif ((string)varkey.Value == \"Sign\")\n\t\t\t\t\t\t\t\t\t\tSignStyle = SignStyle.Sign;\n\t\t\t\t\t\t\t\t\telse if ((string)varkey.Value == \"Shape\")\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tSignStyle = SignStyle.Shape;\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\tUpdateProperties();\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tthrow new ArgumentOutOfRangeException(nameof(style), style, null);\n\t\t\t}\n\t\t}\n\n\t\tprivate void UpdateProperties()\n\t\t{\n\t\t\tInvalidate();\n\t\t}\n\n\t\t#endregion Theme Changing\n\n\t\t#region Draw Control\n\n\t\tprotected override void OnPaint(PaintEventArgs e)\n\t\t{\n\t\t\tvar g = e.Graphics;\n\t\t\tg.TextRenderingHint = TextRenderingHint.ClearTypeGridFit;\n\n\t\t\tvar rect = new Rectangle(0, 0, 16, 15);\n\t\t\tvar alpha = _animator.Value;\n\n\t\t\tusing (var backBrush = new SolidBrush(Enabled ? BackgroundColor : Color.FromArgb(238, 238, 238)))\n\t\t\t{\n\t\t\t\tusing (var checkMarkPen = new Pen(Enabled ? Checked || _animator.Active ? Color.FromArgb(alpha, CheckSignColor) : BackgroundColor : Color.FromArgb(alpha, DisabledBorderColor), 2))\n\t\t\t\t{\n\t\t\t\t\tusing (var checkMarkBrush = new SolidBrush(Enabled ? Checked || _animator.Active ? Color.FromArgb(alpha, CheckSignColor) : BackgroundColor : DisabledBorderColor))\n\t\t\t\t\t{\n\t\t\t\t\t\tusing (var p = new Pen(Enabled ? BorderColor : DisabledBorderColor))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tusing (var sf = new StringFormat { Alignment = StringAlignment.Near, LineAlignment = StringAlignment.Center })\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tusing (var tb = new SolidBrush(ForeColor))\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tg.FillRectangle(backBrush, rect);\n\t\t\t\t\t\t\t\t\tg.DrawRectangle(Enabled ? p : checkMarkPen, rect);\n\t\t\t\t\t\t\t\t\tDrawSymbol(g, checkMarkPen, checkMarkBrush);\n\t\t\t\t\t\t\t\t\tg.DrawString(Text, Font, tb, new Rectangle(19, 2, Width, Height - 4), sf);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tprivate void DrawSymbol(Graphics g, Pen pen, SolidBrush solidBrush)\n\t\t{\n\t\t\tif (solidBrush == null)\n\t\t\t\tthrow new ArgumentNullException(nameof(solidBrush));\n\t\t\tif (SignStyle == SignStyle.Sign)\n\t\t\t{\n\t\t\t\tg.SmoothingMode = SmoothingMode.AntiAlias;\n\t\t\t\tg.DrawLines(pen, new[]\n\t\t\t\t{\n\t\t\t\t\tnew Point(3, 7),\n\t\t\t\t\tnew Point(7, 10),\n\t\t\t\t\tnew Point(13, 3)\n\t\t\t\t});\n\t\t\t\tg.SmoothingMode = SmoothingMode.None;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tg.FillRectangle(solidBrush, new Rectangle(3, 3, 11, 10));\n\t\t\t}\n\t\t}\n\n\t\t#endregion Draw Control\n\n\t\t#region Events\n\n\t\tpublic event CheckedChangedEventHandler CheckedChanged;\n\n\t\tpublic delegate void CheckedChangedEventHandler(object sender);\n\n\t\t/// <summary>\n\t\t/// Here we will handle the checking state in runtime.\n\t\t/// </summary>\n\t\t/// <param name=\"e\">EventArgs</param>\n\t\tprotected override void OnClick(EventArgs e)\n\t\t{\n\t\t\tbase.OnClick(e);\n\t\t\tChecked = !Checked;\n\t\t\tInvalidate();\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Here we will set the limited height for the control to avoid high and low of the text drawing.\n\t\t/// </summary>\n\t\t/// <param name=\"e\">EventArgs</param>\n\t\tprotected override void OnResize(EventArgs e)\n\t\t{\n\t\t\tbase.OnResize(e);\n\t\t\tHeight = 16;\n\t\t\tInvalidate();\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Here we set the mouse hand smooth.\n\t\t/// </summary>\n\t\t/// <param name=\"m\"></param>\n\t\tprotected override void WndProc(ref Message m)\n\t\t{\n\t\t\tif (m.Msg == User32.WM_SETCURSOR)\n\t\t\t{\n\t\t\t\tUser32.SetCursor(User32.LoadCursor(IntPtr.Zero, User32.IDC_HAND));\n\t\t\t\tm.Result = IntPtr.Zero;\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tbase.WndProc(ref m);\n\t\t}\n\n\t\t#endregion Events\n\n\t\t#region Properties\n\n\t\t/// <summary>\n\t\t/// Gets or sets a value indicating whether the control is checked.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets a value indicating whether the control is checked.\")]\n\t\tpublic bool Checked\n\t\t{\n\t\t\tget => _checked;\n\t\t\tset\n\t\t\t{\n\t\t\t\t_checked = value;\n\t\t\t\tCheckedChanged?.Invoke(this);\n\t\t\t\t_animator.Reverse(!value);\n\t\t\t\tCheckState = value ? Enums.CheckState.Checked : Enums.CheckState.Unchecked;\n\t\t\t\tInvalidate();\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets the the sign style of check.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the the sign style of check.\")]\n\t\tpublic SignStyle SignStyle\n\t\t{\n\t\t\tget { return _signStyle; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_signStyle = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Specifies the state of a control, such as a check box, that can be checked, unchecked.\n\t\t/// </summary>\n\t\t[Browsable(false)]\n\t\tpublic Enums.CheckState CheckState\n\t\t{\n\t\t\tget { return _checkState; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_checkState = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets ForeColor used by the control\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the form forecolor.\")]\n\t\tpublic override Color ForeColor { get; set; }\n\n\t\t/// <summary>\n\t\t/// I make BackColor inaccessible cause I want it to be just transparent and I used another property for the same job in following properties. \n\t\t/// </summary>\n\t\t[Browsable(false), EditorBrowsable(EditorBrowsableState.Never)]\n\t\tpublic override Color BackColor => Color.Transparent;\n\n\t\t/// <summary>\n\t\t/// Gets or sets the form BackColor.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the form backcolor.\")]\n\t\t[DisplayName(\"BackColor\")]\n\t\tpublic Color BackgroundColor\n\t\t{\n\t\t\tget { return _backgroundColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_backgroundColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets the border color.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the border color.\")]\n\t\tpublic Color BorderColor\n\t\t{\n\t\t\tget { return _borderColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_borderColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets the border color while the control disabled.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the border color while the control disabled.\")]\n\t\tpublic Color DisabledBorderColor\n\t\t{\n\t\t\tget { return _disabledBorderColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_disabledBorderColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets the color of the check symbol.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the color of the check symbol.\")]\n\t\tpublic Color CheckSignColor\n\t\t{\n\t\t\tget { return _checkSignColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_checkSignColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\t\tprivate bool _isDerivedStyle = true;\n\n\t\t/// <summary>\n\t\t/// Gets or sets the whether this control reflect to parent form style.\n\t\t/// Set it to false if you want the style of this control be independent. \n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\t[Description(\"Gets or sets the whether this control reflect to parent(s) style. \\n \" +\n\t\t\t\t\t \"Set it to false if you want the style of this control be independent. \")]\n\t\tpublic bool IsDerivedStyle\n\t\t{\n\t\t\tget { return _isDerivedStyle; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_isDerivedStyle = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\t\t#endregion Properties\n\n\t\t#region Disposing\n\n\t\t/// <summary>\n\t\t/// Disposing Methods.\n\t\t/// </summary>\n\t\tpublic new void Dispose()\n\t\t{\n\t\t\tDispose(true);\n\t\t\tGC.SuppressFinalize(this);\n\t\t}\n\n\n\t\t#endregion\n\n\t}\n}"
  },
  {
    "path": "MetroSet UI/Controls/MetroSetComboBox.cs",
    "content": "﻿/*\n* MetroSet UI - MetroSet UI Framework\n* \n* The MIT License (MIT)\n* Copyright (c) 2017 Narwin, https://github.com/N-a-r-w-i-n\n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of \n* this software and associated documentation files (the \"Software\"), to deal in the \n* Software without restriction, including without limitation the rights to use, copy, \n* modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, \n* and to permit persons to whom the Software is furnished to do so, subject to the \n* following conditions:\n* \n* The above copyright notice and this permission notice shall be included in \n* all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, \n* INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A \n* PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT \n* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF \n* CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE \n* OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n*/\n\nusing System;\nusing System.ComponentModel;\nusing System.Drawing;\nusing System.Drawing.Text;\nusing System.Runtime.InteropServices;\nusing System.Windows.Forms;\nusing MetroSet_UI.Components;\nusing MetroSet_UI.Enums;\nusing MetroSet_UI.Extensions;\nusing MetroSet_UI.Interfaces;\n\nnamespace MetroSet_UI.Controls\n{\n\t[ToolboxItem(true)]\n\t[ToolboxBitmap(typeof(MetroSetComboBox), \"Bitmaps.ComoBox.bmp\")]\n\t[DefaultEvent(\"SelectedIndexChanged\")]\n\t[DefaultProperty(\"Items\")]\n\t[ComVisible(true)]\n\tpublic class MetroSetComboBox : ComboBox, IMetroSetControl\n\t{\n\n\t\t#region Interfaces\n\n\t\t/// <summary>\n\t\t/// Gets or sets the style associated with the control.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the style associated with the control.\")]\n\t\tpublic Style Style\n\t\t{\n\t\t\tget => StyleManager?.Style ?? _style;\n\t\t\tset\n\t\t\t{\n\t\t\t\t_style = value;\n\t\t\t\tswitch (value)\n\t\t\t\t{\n\t\t\t\t\tcase Style.Light:\n\t\t\t\t\t\tApplyTheme();\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase Style.Dark:\n\t\t\t\t\t\tApplyTheme(Style.Dark);\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase Style.Custom:\n\t\t\t\t\t\tApplyTheme(Style.Custom);\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tApplyTheme();\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets the Style Manager associated with the control.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the Style Manager associated with the control.\")]\n\t\tpublic StyleManager StyleManager\n\t\t{\n\t\t\tget => _styleManager;\n\t\t\tset { _styleManager = value; Invalidate(); }\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets the The Author name associated with the theme.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the The Author name associated with the theme.\")]\n\t\tpublic string ThemeAuthor { get; set; }\n\n\t\t/// <summary>\n\t\t/// Gets or sets the The Theme name associated with the theme.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the The Theme name associated with the theme.\")]\n\t\tpublic string ThemeName { get; set; }\n\n\t\t#endregion Interfaces\n\n\t\t#region Global Vars\n\n\t\tprivate readonly Methods _mth;\n\t\tprivate readonly Utilites _utl;\n\n\t\t#endregion Global Vars\n\n\t\t#region Internal Vars\n\n\t\tprivate Style _style;\n\t\tprivate StyleManager _styleManager;\n\t\tprivate int _startIndex;\n\n\t\tprivate Color _backgroundColor;\n\t\tprivate Color _borderColor;\n\t\tprivate Color _arrowColor;\n\t\tprivate Color _selectedItemForeColor;\n\t\tprivate Color _selectedItemBackColor;\n\t\tprivate Color _disabledBackColor;\n\t\tprivate Color _disabledForeColor;\n\t\tprivate Color _disabledBorderColor;\n\n\t\t#endregion Internal Vars\n\n\t\t#region Constructors\n\n\t\tpublic MetroSetComboBox()\n\t\t{\n\t\t\tSetStyle\n\t\t\t\t(\n\t\t\t\tControlStyles.AllPaintingInWmPaint |\n\t\t\t\tControlStyles.UserPaint |\n\t\t\t\tControlStyles.ResizeRedraw |\n\t\t\t\tControlStyles.OptimizedDoubleBuffer |\n\t\t\t\tControlStyles.SupportsTransparentBackColor,\n\t\t\t\ttrue);\n\t\t\tUpdateStyles();\n\t\t\tbase.Font = MetroSetFonts.Regular(11);\n\t\t\tbase.BackColor = Color.Transparent;\n\t\t\tbase.AllowDrop = true;\n\t\t\tDrawMode = DrawMode.OwnerDrawFixed;\n\t\t\tItemHeight = 20;\n\t\t\t_startIndex = 0;\n\t\t\tCausesValidation = false;\n\t\t\tDropDownStyle = ComboBoxStyle.DropDownList;\n\t\t\t_mth = new Methods();\n\t\t\t_utl = new Utilites();\n\n\t\t\tApplyTheme();\n\t\t}\n\n\t\t#endregion Constructors\n\n\t\t#region Properties\n\n\t\t/// <summary>\n\t\t/// Gets or sets the index specifying the currently selected item.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\t[Description(\"Gets or sets the index specifying the currently selected item.\")]\n\t\tprivate int StartIndex\n\t\t{\n\t\t\tget => _startIndex;\n\t\t\tset\n\t\t\t{\n\t\t\t\t_startIndex = value;\n\t\t\t\ttry\n\t\t\t\t{\n\t\t\t\t\tSelectedIndex = value;\n\t\t\t\t}\n\t\t\t\tcatch\n\t\t\t\t{\n\t\t\t\t\t//\n\t\t\t\t}\n\t\t\t\tInvalidate();\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets ForeColor used by the control\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the form forecolor.\")]\n\t\tpublic override Color ForeColor { get; set; }\n\n\t\t/// <summary>\n\t\t/// I make BackColor inaccessible cause I want it to be just transparent and I used another property for the same job in following properties. \n\t\t/// </summary>\n\t\t[Browsable(false), EditorBrowsable(EditorBrowsableState.Never)]\n\t\tpublic override Color BackColor => Color.Transparent;\n\n\t\t/// <summary>\n\t\t/// Gets or sets the form backcolor.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the form backcolor.\")]\n\t\t[DisplayName(\"BackColor\")]\n\t\tpublic Color BackgroundColor\n\t\t{\n\t\t\tget { return _backgroundColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_backgroundColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets border color used by the control\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\tpublic Color BorderColor\n\t\t{\n\t\t\tget { return _borderColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_borderColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets arrow color used by the control\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\tpublic Color ArrowColor\n\t\t{\n\t\t\tget { return _arrowColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_arrowColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets ForeColor of the selected item used by the control\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\tpublic Color SelectedItemForeColor\n\t\t{\n\t\t\tget { return _selectedItemForeColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_selectedItemForeColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets BackColor of the selected item used by the control\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\tpublic Color SelectedItemBackColor\n\t\t{\n\t\t\tget { return _selectedItemBackColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_selectedItemBackColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets BackColor used by the control while disabled.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\tpublic Color DisabledBackColor\n\t\t{\n\t\t\tget { return _disabledBackColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_disabledBackColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets the ForeColor of the control whenever while disabled.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\tpublic Color DisabledForeColor\n\t\t{\n\t\t\tget { return _disabledForeColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_disabledForeColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets the border color of the control while disabled.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\tpublic Color DisabledBorderColor\n\t\t{\n\t\t\tget { return _disabledBorderColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_disabledBorderColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\t\tprivate bool _isDerivedStyle = true;\n\n\t\t/// <summary>\n\t\t/// Gets or sets the whether this control reflect to parent form style.\n\t\t/// Set it to false if you want the style of this control be independent. \n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\t[Description(\"Gets or sets the whether this control reflect to parent(s) style. \\n \" +\n\t\t\t\t\t \"Set it to false if you want the style of this control be independent. \")]\n\t\tpublic bool IsDerivedStyle\n\t\t{\n\t\t\tget { return _isDerivedStyle; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_isDerivedStyle = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t#endregion\n\n\t\t#region Draw Control\n\n\t\t/// <summary>\n\t\t/// Here we draw the items.\n\t\t/// </summary>\n\t\t/// <param name=\"e\"></param>\n\t\tprotected override void OnDrawItem(DrawItemEventArgs e)\n\t\t{\n\t\t\tvar g = e.Graphics;\n\t\t\tg.TextRenderingHint = TextRenderingHint.ClearTypeGridFit;\n\n\t\t\tif (e.Index == -1)\n\t\t\t{\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvar itemState = (e.State & DrawItemState.Selected) == DrawItemState.Selected;\n\t\t\tusing (var bg = new SolidBrush(itemState ? SelectedItemBackColor : BackgroundColor))\n\t\t\tusing (var tc = new SolidBrush(itemState ? SelectedItemForeColor : ForeColor))\n\t\t\t{\n\t\t\t\tusing (var f = new Font(Font.Name, 9))\n\t\t\t\t{\n\t\t\t\t\tg.FillRectangle(bg, e.Bounds);\n\t\t\t\t\tg.DrawString(GetItemText(Items[e.Index]), f, tc, e.Bounds, _mth.SetPosition(StringAlignment.Near));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Here we draw the container.\n\t\t/// </summary>\n\t\t/// <param name=\"e\">PaintEventArgs</param>\n\t\tprotected override void OnPaint(PaintEventArgs e)\n\t\t{\n\t\t\tvar g = e.Graphics;\n\t\t\tvar rect = new Rectangle(0, 0, Width - 1, Height - 1);\n\t\t\tvar downArrow = '▼';\n\t\t\tg.TextRenderingHint = TextRenderingHint.ClearTypeGridFit;\n\n\t\t\tusing (var bg = new SolidBrush(Enabled ? BackgroundColor : DisabledBackColor))\n\t\t\t{\n\t\t\t\tusing (var p = new Pen(Enabled ? BorderColor : DisabledBorderColor))\n\t\t\t\t{\n\t\t\t\t\tusing (var s = new SolidBrush(Enabled ? ArrowColor : DisabledForeColor))\n\t\t\t\t\t{\n\t\t\t\t\t\tusing (var tb = new SolidBrush(Enabled ? ForeColor : DisabledForeColor))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tusing (var f = MetroSetFonts.SemiBold(8))\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tg.FillRectangle(bg, rect);\n\t\t\t\t\t\t\t\tg.TextRenderingHint = TextRenderingHint.AntiAlias;\n\t\t\t\t\t\t\t\tg.DrawString(downArrow.ToString(), f, s, new Point(Width - 22, 8));\n\t\t\t\t\t\t\t\tg.TextRenderingHint = TextRenderingHint.ClearTypeGridFit;\n\t\t\t\t\t\t\t\tg.DrawString(Text, f, tb, new Rectangle(7, 0, Width - 1, Height - 1), _mth.SetPosition(StringAlignment.Near));\n\t\t\t\t\t\t\t\tg.DrawRectangle(p, rect);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t#endregion\n\n\t\t#region ApplyTheme\n\n\t\t/// <summary>\n\t\t/// Gets or sets the style provided by the user.\n\t\t/// </summary>\n\t\t/// <param name=\"style\">The Style.</param>\n\t\tprivate void ApplyTheme(Style style = Style.Light)\n\t\t{\n\t\t\tif (!IsDerivedStyle)\n\t\t\t\treturn;\n\n\t\t\tswitch (style)\n\t\t\t{\n\t\t\t\tcase Style.Light:\n\t\t\t\t\tForeColor = Color.FromArgb(20, 20, 20);\n\t\t\t\t\tBackgroundColor = Color.FromArgb(238, 238, 238);\n\t\t\t\t\tBorderColor = Color.FromArgb(150, 150, 150);\n\t\t\t\t\tArrowColor = Color.FromArgb(150, 150, 150);\n\t\t\t\t\tSelectedItemBackColor = Color.FromArgb(65, 177, 225);\n\t\t\t\t\tSelectedItemForeColor = Color.White;\n\t\t\t\t\tDisabledBackColor = Color.FromArgb(204, 204, 204);\n\t\t\t\t\tDisabledBorderColor = Color.FromArgb(155, 155, 155);\n\t\t\t\t\tDisabledForeColor = Color.FromArgb(136, 136, 136);\n\t\t\t\t\tThemeAuthor = \"Narwin\";\n\t\t\t\t\tThemeName = \"MetroLite\";\n\t\t\t\t\tUpdateProperties();\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase Style.Dark:\n\t\t\t\t\tForeColor = Color.FromArgb(204, 204, 204);\n\t\t\t\t\tBackgroundColor = Color.FromArgb(34, 34, 34);\n\t\t\t\t\tBorderColor = Color.FromArgb(110, 110, 110);\n\t\t\t\t\tArrowColor = Color.FromArgb(110, 110, 110);\n\t\t\t\t\tSelectedItemBackColor = Color.FromArgb(65, 177, 225);\n\t\t\t\t\tSelectedItemForeColor = Color.White;\n\t\t\t\t\tDisabledBackColor = Color.FromArgb(80, 80, 80);\n\t\t\t\t\tDisabledBorderColor = Color.FromArgb(109, 109, 109);\n\t\t\t\t\tDisabledForeColor = Color.FromArgb(109, 109, 109);\n\t\t\t\t\tThemeAuthor = \"Narwin\";\n\t\t\t\t\tThemeName = \"MetroDark\";\n\t\t\t\t\tUpdateProperties();\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase Style.Custom:\n\t\t\t\t\tif (StyleManager != null)\n\t\t\t\t\t\tforeach (var varkey in StyleManager.ComboBoxDictionary)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tswitch (varkey.Key)\n\t\t\t\t\t\t\t{\n\n\t\t\t\t\t\t\t\tcase \"ForeColor\":\n\t\t\t\t\t\t\t\t\tForeColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tcase \"BackColor\":\n\t\t\t\t\t\t\t\t\tBackgroundColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tcase \"BorderColor\":\n\t\t\t\t\t\t\t\t\tBorderColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tcase \"ArrowColor\":\n\t\t\t\t\t\t\t\t\tArrowColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tcase \"SelectedItemBackColor\":\n\t\t\t\t\t\t\t\t\tSelectedItemBackColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tcase \"SelectedItemForeColor\":\n\t\t\t\t\t\t\t\t\tSelectedItemForeColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tcase \"DisabledBackColor\":\n\t\t\t\t\t\t\t\t\tDisabledBackColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tcase \"DisabledBorderColor\":\n\t\t\t\t\t\t\t\t\tDisabledBorderColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tcase \"DisabledForeColor\":\n\t\t\t\t\t\t\t\t\tDisabledForeColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\tUpdateProperties();\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tthrow new ArgumentOutOfRangeException(nameof(style), style, null);\n\t\t\t}\n\t\t}\n\n\t\tprivate void UpdateProperties()\n\t\t{\n\t\t\tInvalidate();\n\t\t}\n\n\t\t#endregion Theme Changing\n\n\t}\n}"
  },
  {
    "path": "MetroSet UI/Controls/MetroSetContextMenuStrip.cs",
    "content": "﻿/*\n* MetroSet UI - MetroSet UI Framework\n* \n* The MIT License (MIT)\n* Copyright (c) 2017 Narwin, https://github.com/N-a-r-w-i-n\n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of \n* this software and associated documentation files (the \"Software\"), to deal in the \n* Software without restriction, including without limitation the rights to use, copy, \n* modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, \n* and to permit persons to whom the Software is furnished to do so, subject to the \n* following conditions:\n* \n* The above copyright notice and this permission notice shall be included in \n* all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, \n* INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A \n* PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT \n* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF \n* CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE \n* OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n*/\n\nusing System;\nusing System.ComponentModel;\nusing System.Drawing;\nusing System.Drawing.Drawing2D;\nusing System.Runtime.InteropServices;\nusing System.Windows.Forms;\nusing MetroSet_UI.Components;\nusing MetroSet_UI.Enums;\nusing MetroSet_UI.Extensions;\nusing MetroSet_UI.Interfaces;\n\nnamespace MetroSet_UI.Controls\n{\n\t[ToolboxItem(true)]\n\t[ToolboxBitmap(typeof(MetroSetContextMenuStrip), \"Bitmaps.ContextMenu.bmp\")]\n\t[DefaultEvent(\"Opening\")]\n\t[ComVisible(true)]\n\tpublic class MetroSetContextMenuStrip : ContextMenuStrip, IMetroSetControl\n\t{\n\n\t\t#region Interfaces\n\n\t\t/// <summary>\n\t\t/// Gets or sets the style associated with the control.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the style associated with the control.\")]\n\t\tpublic Style Style\n\t\t{\n\t\t\tget => StyleManager?.Style ?? _style;\n\t\t\tset\n\t\t\t{\n\t\t\t\t_style = value;\n\t\t\t\tswitch (value)\n\t\t\t\t{\n\t\t\t\t\tcase Style.Light:\n\t\t\t\t\t\tApplyTheme();\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase Style.Dark:\n\t\t\t\t\t\tApplyTheme(Style.Dark);\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase Style.Custom:\n\t\t\t\t\t\tApplyTheme(Style.Custom);\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tApplyTheme();\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tInvalidate();\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets the Style Manager associated with the control.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the Style Manager associated with the control.\")]\n\t\tpublic StyleManager StyleManager\n\t\t{\n\t\t\tget => _styleManager;\n\t\t\tset { _styleManager = value; Invalidate(); }\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets the The Author name associated with the theme.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the The Author name associated with the theme.\")]\n\t\tpublic string ThemeAuthor { get; set; }\n\n\t\t/// <summary>\n\t\t/// Gets or sets the The Theme name associated with the theme.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the The Theme name associated with the theme.\")]\n\t\tpublic string ThemeName { get; set; }\n\n\t\t#endregion Interfaces\n\n\t\t#region Global Vars\n\n\t\tprivate readonly Utilites _utl;\n\n\t\t#endregion Global Vars\n\n\t\t#region Internal Vars\n\n\t\tprivate Style _style;\n\t\tprivate StyleManager _styleManager;\n\t\tprivate ToolStripItemClickedEventArgs _clickedEventArgs;\n\n\t\t#endregion Internal Vars\n\n\t\t#region Constructors\n\n\t\tpublic MetroSetContextMenuStrip()\n\t\t{\n\t\t\t_utl = new Utilites();\n\t\t\tApplyTheme();\n\t\t\tRenderer = new MetroSetToolStripRender();\n\t\t}\n\n\t\t#endregion Constructors\n\n\t\t#region ApplyTheme\n\n\t\t/// <summary>\n\t\t/// Gets or sets the style provided by the user.\n\t\t/// </summary>\n\t\t/// <param name=\"style\">The Style.</param>\n\t\tprivate void ApplyTheme(Style style = Style.Light)\n\t\t{\n\t\t\tif (!IsDerivedStyle)\n\t\t\t\treturn;\n\n\t\t\tswitch (style)\n\t\t\t{\n\t\t\t\tcase Style.Light:\n\t\t\t\t\tForegroundColor = Color.FromArgb(170, 170, 170);\n\t\t\t\t\tBackgroundColor = Color.White;\n\t\t\t\t\tArrowColor = Color.Gray;\n\t\t\t\t\tSelectedItemBackColor = Color.FromArgb(65, 177, 225);\n\t\t\t\t\tSelectedItemColor = Color.White;\n\t\t\t\t\tSeparatorColor = Color.LightGray;\n\t\t\t\t\tDisabledForeColor = Color.Silver;\n\t\t\t\t\tThemeAuthor = \"Narwin\";\n\t\t\t\t\tThemeName = \"MetroLite\";\n\t\t\t\t\tUpdateProperties();\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase Style.Dark:\n\t\t\t\t\tForegroundColor = Color.FromArgb(170, 170, 170);\n\t\t\t\t\tBackgroundColor = Color.FromArgb(30, 30, 30);\n\t\t\t\t\tArrowColor = Color.Gray;\n\t\t\t\t\tSelectedItemBackColor = Color.FromArgb(65, 177, 225);\n\t\t\t\t\tSelectedItemColor = Color.White;\n\t\t\t\t\tSeparatorColor = Color.Gray;\n\t\t\t\t\tDisabledForeColor = Color.Silver;\n\t\t\t\t\tThemeAuthor = \"Narwin\";\n\t\t\t\t\tThemeName = \"MetroDark\";\n\t\t\t\t\tUpdateProperties();\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase Style.Custom:\n\t\t\t\t\tif (StyleManager != null)\n\t\t\t\t\t\tforeach (var varkey in StyleManager.ContextMenuDictionary)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tswitch (varkey.Key)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tcase \"ForeColor\":\n\t\t\t\t\t\t\t\t\tForegroundColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tcase \"BackColor\":\n\t\t\t\t\t\t\t\t\tBackgroundColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tcase \"ArrowColor\":\n\t\t\t\t\t\t\t\t\tArrowColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tcase \"SeparatorColor\":\n\t\t\t\t\t\t\t\t\tSeparatorColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tcase \"SelectedItemColor\":\n\t\t\t\t\t\t\t\t\tSelectedItemColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tcase \"SelectedItemBackColor\":\n\t\t\t\t\t\t\t\t\tSelectedItemBackColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tcase \"DisabledForeColor\":\n\t\t\t\t\t\t\t\t\tDisabledForeColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\tUpdateProperties();\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tthrow new ArgumentOutOfRangeException(nameof(style), style, null);\n\t\t\t}\n\t\t}\n\n\t\tprivate void UpdateProperties()\n\t\t{\n\t\t\tInvalidate();\n\t\t}\n\n\t\t#endregion Theme Changing\n\n\t\t#region Properties\n\n\t\t/// <summary>\n\t\t/// Gets or sets ForegroundColor used by the control\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets forecolor used by the control.\")]\n\t\t[DisplayName(\"ForeColor\")]\n\t\tpublic static Color ForegroundColor { get; set; }\n\n\t\t/// <summary>\n\t\t/// Gets or sets BackgroundColor used by the control\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets backcolor used by the control.\")]\n\t\t[DisplayName(\"BackColor\")]\n\t\tpublic static Color BackgroundColor { get; set; }\n\n\t\t/// <summary>\n\t\t/// Gets or sets separator color used by the control\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets separator color used by the control.\")]\n\t\tpublic static Color SeparatorColor { get; set; }\n\n\t\t/// <summary>\n\t\t/// Gets or sets Arrow color used by the control\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets arrowcolor used by the control.\")]\n\t\tpublic static Color ArrowColor { get; set; }\n\n\t\t/// <summary>\n\t\t/// Gets or sets SelectedItem color used by the control\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets selecteditem color used by the control.\")]\n\t\tpublic static Color SelectedItemColor { get; set; }\n\n\t\t/// <summary>\n\t\t/// Gets or sets SelectedItem BackColor used by the control\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets selecteditem backcolor used by the control.\")]\n\t\tpublic static Color SelectedItemBackColor { get; set; }\n\n\t\t/// <summary>\n\t\t/// Gets or sets disabled forecolor used by the control\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets disabled forecolor used by the control.\")]\n\t\tpublic static Color DisabledForeColor { get; set; }\n\n\t\tpublic static new Font Font => MetroSetFonts.UIRegular(10);\n\n\t\tprivate bool _isDerivedStyle = true;\n\n\t\t/// <summary>\n\t\t/// Gets or sets the whether this control reflect to parent form style.\n\t\t/// Set it to false if you want the style of this control be independent. \n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\t[Description(\"Gets or sets the whether this control reflect to parent(s) style. \\n \" +\n\t\t\t\t\t \"Set it to false if you want the style of this control be independent. \")]\n\t\tpublic bool IsDerivedStyle\n\t\t{\n\t\t\tget { return _isDerivedStyle; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_isDerivedStyle = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\t\t#endregion\n\n\t\t#region Events\n\n\t\tpublic event ClickedEventHandler Clicked;\n\t\tpublic delegate void ClickedEventHandler(object sender);\n\n\t\t/// <summary>\n\t\t/// Here we handle whenever and item clicked.\n\t\t/// </summary>\n\t\t/// <param name=\"e\"></param>\n\t\tprotected override void OnItemClicked(ToolStripItemClickedEventArgs e)\n\t\t{\n\t\t\tif ((e.ClickedItem == null) || e.ClickedItem is ToolStripSeparator)\n\t\t\t\treturn;\n\t\t\tif (ReferenceEquals(e, _clickedEventArgs))\n\t\t\t\tOnItemClicked(e);\n\t\t\telse\n\t\t\t{\n\t\t\t\t_clickedEventArgs = e;\n\t\t\t\tClicked?.Invoke(this);\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Here we handle mouse hover event.\n\t\t/// </summary>\n\t\t/// <param name=\"e\">EventArgs</param>\n\t\tprotected override void OnMouseHover(EventArgs e)\n\t\t{\n\t\t\tbase.OnMouseHover(e);\n\t\t\tCursor = Cursors.Hand;\n\t\t\tInvalidate();\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Here we handle mouse up event\n\t\t/// </summary>\n\t\t/// <param name=\"e\"></param>\n\t\tprotected override void OnMouseUp(MouseEventArgs e)\n\t\t{\n\t\t\tbase.OnMouseUp(e);\n\t\t\tCursor = Cursors.Hand;\n\t\t\tInvalidate();\n\t\t}\n\n\t\t#endregion\n\n\t\t#region Child\n\n\t\tprivate sealed class MetroSetToolStripRender : ToolStripProfessionalRenderer\n\t\t{\n\n\t\t\t#region Drawing Text\n\n\t\t\t/// <summary>\n\t\t\t/// Here we draw item text.\n\t\t\t/// </summary>\n\t\t\t/// <param name=\"e\"></param>\n\t\t\tprotected override void OnRenderItemText(ToolStripItemTextRenderEventArgs e)\n\t\t\t{\n\t\t\t\te.Graphics.TextRenderingHint = System.Drawing.Text.TextRenderingHint.ClearTypeGridFit;\n\t\t\t\tvar textRect = new Rectangle(25, e.Item.ContentRectangle.Y, e.Item.ContentRectangle.Width - (24 + 16), e.Item.ContentRectangle.Height - 4);\n\t\t\t\tusing (var b = new SolidBrush(e.Item.Enabled ? e.Item.Selected ? SelectedItemColor : ForegroundColor : DisabledForeColor))\n\t\t\t\t{\n\t\t\t\t\te.Graphics.DrawString(e.Text, Font, b, textRect);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t#endregion Drawing Text\n\n\t\t\t#region Drawing Backgrounds\n\n\t\t\t/// <summary>\n\t\t\t/// Here we draw toolstrip background.\n\t\t\t/// </summary>\n\t\t\t/// <param name=\"e\"></param>\n\t\t\tprotected override void OnRenderToolStripBackground(ToolStripRenderEventArgs e)\n\t\t\t{\n\t\t\t\tbase.OnRenderToolStripBackground(e);\n\t\t\t\te.Graphics.Clear(BackgroundColor);\n\t\t\t}\n\n\t\t\t/// <summary>\n\t\t\t/// Here we draw toolstrip menu item background.\n\t\t\t/// </summary>\n\t\t\t/// <param name=\"e\"></param>\n\t\t\tprotected override void OnRenderMenuItemBackground(ToolStripItemRenderEventArgs e)\n\t\t\t{\n\t\t\t\te.Graphics.InterpolationMode = InterpolationMode.High;\n\t\t\t\te.Graphics.Clear(BackgroundColor);\n\t\t\t\tvar r = new Rectangle(0, e.Item.ContentRectangle.Y - 2, e.Item.ContentRectangle.Width + 4, e.Item.ContentRectangle.Height + 3);\n\t\t\t\tusing (var b = new SolidBrush(e.Item.Selected && e.Item.Enabled ? SelectedItemBackColor : BackgroundColor))\n\t\t\t\t{\n\t\t\t\t\te.Graphics.FillRectangle(b, r);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t#endregion Drawing Backgrounds\n\n\t\t\t#region Set Image Margin\n\n\t\t\tprotected override void OnRenderImageMargin(ToolStripRenderEventArgs e)\n\t\t\t{\n\t\t\t\t//MyBase.OnRenderImageMargin(e)\n\t\t\t\t//I Make above line comment which makes users to be able to add images to ToolStrips\n\t\t\t}\n\n\t\t\t#endregion Set Image Margin\n\n\t\t\t#region Drawing Seperators & Borders\n\n\t\t\t/// <summary>\n\t\t\t/// Here we draw toolstrip separators.\n\t\t\t/// </summary>\n\t\t\t/// <param name=\"e\"></param>\n\t\t\tprotected override void OnRenderSeparator(ToolStripSeparatorRenderEventArgs e)\n\t\t\t{\n\t\t\t\tusing (var p = new Pen(SeparatorColor))\n\t\t\t\t{\n\t\t\t\t\te.Graphics.DrawLine(p, new Point(e.Item.Bounds.Left, e.Item.Bounds.Height / 2), new Point(e.Item.Bounds.Right - 5, e.Item.Bounds.Height / 2));\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t#endregion Drawing Seperators & Borders\n\n\t\t\t#region Drawing DropDown Arrows\n\n\t\t\t/// <summary>\n\t\t\t/// Here we draw the toolstrip arrows.\n\t\t\t/// </summary>\n\t\t\t/// <param name=\"e\">ToolStripArrowRenderEventArgs</param>\n\t\t\tprotected override void OnRenderArrow(ToolStripArrowRenderEventArgs e)\n\t\t\t{\n\t\t\t\tvar arrowX = e.ArrowRectangle.X + e.ArrowRectangle.Width / 2;\n\t\t\t\tvar arrowY = e.ArrowRectangle.Y + e.ArrowRectangle.Height / 2;\n\t\t\t\tvar arrowPoints = new[]\n\t\t\t\t{\n\t\t\t\tnew Point(arrowX - 5, arrowY - 5),\n\t\t\t\tnew Point(arrowX, arrowY),\n\t\t\t\tnew Point(arrowX - 5, arrowY + 5)\n\t\t\t\t};\n\n\t\t\t\tusing (var arrowBrush = new SolidBrush(e.Item.Enabled ? ArrowColor : DisabledForeColor))\n\t\t\t\t{\n\t\t\t\t\te.Graphics.FillPolygon(arrowBrush, arrowPoints);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t#endregion Drawing DropDown Arrows\n\t\t}\n\n\t\t#endregion\n\n\t}\n}"
  },
  {
    "path": "MetroSet UI/Controls/MetroSetControlBox.cs",
    "content": "﻿/*\n* MetroSet UI - MetroSet UI Framework\n* \n* The MIT License (MIT)\n* Copyright (c) 2017 Narwin, https://github.com/N-a-r-w-i-n\n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of \n* this software and associated documentation files (the \"Software\"), to deal in the \n* Software without restriction, including without limitation the rights to use, copy, \n* modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, \n* and to permit persons to whom the Software is furnished to do so, subject to the \n* following conditions:\n* \n* The above copyright notice and this permission notice shall be included in \n* all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, \n* INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A \n* PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT \n* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF \n* CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE \n* OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n*/\n\nusing System;\nusing System.ComponentModel;\nusing System.Drawing;\nusing System.Drawing.Text;\nusing System.Runtime.InteropServices;\nusing System.Windows.Forms;\nusing MetroSet_UI.Components;\nusing MetroSet_UI.Design;\nusing MetroSet_UI.Enums;\nusing MetroSet_UI.Extensions;\nusing MetroSet_UI.Interfaces;\n\nnamespace MetroSet_UI.Controls\n{\n\t[ToolboxItem(true)]\n\t[ToolboxBitmap(typeof(MetroSetControlBox), \"Bitmaps.ControlButton.bmp\")]\n\t[Designer(typeof(MetroSetControBoxDesigner))]\n\t[DefaultProperty(\"Click\")]\n\t[ComVisible(true)]\n\tpublic class MetroSetControlBox : Control, IMetroSetControl\n\t{\n\n\t\t#region Interfaces\n\n\t\t/// <summary>\n\t\t/// Gets or sets the style associated with the control.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the style associated with the control.\")]\n\t\tpublic Style Style\n\t\t{\n\t\t\tget => StyleManager?.Style ?? _style;\n\t\t\tset\n\t\t\t{\n\t\t\t\t_style = value;\n\t\t\t\tswitch (value)\n\t\t\t\t{\n\t\t\t\t\tcase Style.Light:\n\t\t\t\t\t\tApplyTheme();\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase Style.Dark:\n\t\t\t\t\t\tApplyTheme(Style.Dark);\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase Style.Custom:\n\t\t\t\t\t\tApplyTheme(Style.Custom);\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tApplyTheme();\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tInvalidate();\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets the Style Manager associated with the control.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the Style Manager associated with the control.\")]\n\t\tpublic StyleManager StyleManager\n\t\t{\n\t\t\tget => _styleManager;\n\t\t\tset { _styleManager = value; Invalidate(); }\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets the The Author name associated with the theme.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the The Author name associated with the theme.\")]\n\t\tpublic string ThemeAuthor { get; set; }\n\n\t\t/// <summary>\n\t\t/// Gets or sets the The Theme name associated with the theme.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the The Theme name associated with the theme.\")]\n\t\tpublic string ThemeName { get; set; }\n\n\t\t#endregion Interfaces\n\n\t\t#region Global Vars\n\n\t\tprivate readonly Utilites _utl;\n\n\t\t#endregion Global Vars\n\n\t\t#region Internal Vars\n\n\t\tprivate Style _style;\n\t\tprivate StyleManager _styleManager;\n\n\t\tprivate bool _maximizeBox = true;\n\t\tprivate Color _closeNormalForeColor;\n\t\tprivate Color _closeHoverForeColor;\n\t\tprivate Color _closeHoverBackColor;\n\t\tprivate Color _maximizeHoverForeColor;\n\t\tprivate Color _maximizeHoverBackColor;\n\t\tprivate Color _maximizeNormalForeColor;\n\t\tprivate Color _minimizeHoverForeColor;\n\t\tprivate Color _minimizeHoverBackColor;\n\t\tprivate Color _minimizeNormalForeColor;\n\t\tprivate Color _disabledForeColor;\n\n\t\t#endregion Internal Vars\n\n\t\t#region Constructors\n\n\t\tpublic MetroSetControlBox()\n\t\t{\n\t\t\tSetStyle(\n\t\t\t\tControlStyles.ResizeRedraw |\n\t\t\t\tControlStyles.OptimizedDoubleBuffer |\n\t\t\t\tControlStyles.SupportsTransparentBackColor, true);\n\t\t\tUpdateStyles();\n\t\t\t_utl = new Utilites();\n\t\t\tbase.Anchor = AnchorStyles.Top | AnchorStyles.Right;\n\t\t\tApplyTheme();\n\t\t}\n\n\t\t#endregion Constructors\n\n\t\t#region ApplyTheme\n\n\t\t/// <summary>\n\t\t/// Gets or sets the style provided by the user.\n\t\t/// </summary>\n\t\t/// <param name=\"style\">The Style.</param>\n\t\tprivate void ApplyTheme(Style style = Style.Light)\n\t\t{\n\t\t\tif (!IsDerivedStyle)\n\t\t\t\treturn;\n\n\t\t\tswitch (style)\n\t\t\t{\n\t\t\t\tcase Style.Light:\n\t\t\t\t\tCloseHoverBackColor = Color.FromArgb(183, 40, 40);\n\t\t\t\t\tCloseHoverForeColor = Color.White;\n\t\t\t\t\tCloseNormalForeColor = Color.Gray;\n\t\t\t\t\tMaximizeHoverBackColor = Color.FromArgb(238, 238, 238);\n\t\t\t\t\tMaximizeHoverForeColor = Color.Gray;\n\t\t\t\t\tMaximizeNormalForeColor = Color.Gray;\n\t\t\t\t\tMinimizeHoverBackColor = Color.FromArgb(238, 238, 238);\n\t\t\t\t\tMinimizeHoverForeColor = Color.Gray;\n\t\t\t\t\tMinimizeNormalForeColor = Color.Gray;\n\t\t\t\t\tDisabledForeColor = Color.DimGray;\n\t\t\t\t\tThemeAuthor = \"Narwin\";\n\t\t\t\t\tThemeName = \"MetroLite\";\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase Style.Dark:\n\t\t\t\t\tCloseHoverBackColor = Color.FromArgb(183, 40, 40);\n\t\t\t\t\tCloseHoverForeColor = Color.White;\n\t\t\t\t\tCloseNormalForeColor = Color.Gray;\n\t\t\t\t\tMaximizeHoverBackColor = Color.FromArgb(238, 238, 238);\n\t\t\t\t\tMaximizeHoverForeColor = Color.Gray;\n\t\t\t\t\tMaximizeNormalForeColor = Color.Gray;\n\t\t\t\t\tMinimizeHoverBackColor = Color.FromArgb(238, 238, 238);\n\t\t\t\t\tMinimizeHoverForeColor = Color.Gray;\n\t\t\t\t\tMinimizeNormalForeColor = Color.Gray;\n\t\t\t\t\tDisabledForeColor = Color.Silver;\n\t\t\t\t\tThemeAuthor = \"Narwin\";\n\t\t\t\t\tThemeName = \"MetroDark\";\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase Style.Custom:\n\t\t\t\t\tif (StyleManager != null)\n\t\t\t\t\t\tforeach (var varkey in StyleManager.ControlBoxDictionary)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tswitch (varkey.Key)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tcase \"CloseHoverBackColor\":\n\t\t\t\t\t\t\t\t\tCloseHoverBackColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tcase \"CloseHoverForeColor\":\n\t\t\t\t\t\t\t\t\tCloseHoverForeColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tcase \"CloseNormalForeColor\":\n\t\t\t\t\t\t\t\t\tCloseNormalForeColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tcase \"MaximizeHoverBackColor\":\n\t\t\t\t\t\t\t\t\tMaximizeHoverBackColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tcase \"MaximizeHoverForeColor\":\n\t\t\t\t\t\t\t\t\tMaximizeHoverForeColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tcase \"MaximizeNormalForeColor\":\n\t\t\t\t\t\t\t\t\tMaximizeNormalForeColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tcase \"MinimizeHoverBackColor\":\n\t\t\t\t\t\t\t\t\tMinimizeHoverBackColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tcase \"MinimizeHoverForeColor\":\n\t\t\t\t\t\t\t\t\tMinimizeHoverForeColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tcase \"MinimizeNormalForeColor\":\n\t\t\t\t\t\t\t\t\tMinimizeNormalForeColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tcase \"DisabledForeColor\":\n\t\t\t\t\t\t\t\t\tDisabledForeColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\n\t\t\t\tdefault:\n\t\t\t\t\tthrow new ArgumentOutOfRangeException(nameof(style), style, null);\n\t\t\t}\n\t\t\tInvalidate();\n\t\t}\n\n\t\t#endregion Theme Changing\n\n\t\t#region Properties\n\n\t\t#region Public\n\n\t\tprivate bool _isDerivedStyle = true;\n\n\t\t/// <summary>\n\t\t/// Gets or sets the whether this control reflect to parent form style.\n\t\t/// Set it to false if you want the style of this control be independent. \n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\t[Description(\"Gets or sets the whether this control reflect to parent(s) style. \\n \" +\n\t\t\t\t\t \"Set it to false if you want the style of this control be independent. \")]\n\t\tpublic bool IsDerivedStyle\n\t\t{\n\t\t\tget { return _isDerivedStyle; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_isDerivedStyle = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets a value indicating whether the Maximize button is Enabled in the caption bar of the form.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets a value indicating whether the Maximize button is Enabled in the caption bar of the form.\")]\n\t\tpublic bool MaximizeBox\n\t\t{\n\t\t\tget { return _maximizeBox; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_maximizeBox = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets a value indicating whether the Minimize button is Enabled in the caption bar of the form.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets a value indicating whether the Minimize button is Enabled in the caption bar of the form.\")]\n\t\tprivate bool _minimizeBox = true;\n\t\tpublic bool MinimizeBox\n\t\t{\n\t\t\tget { return _minimizeBox; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_minimizeBox = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets Close ForeColor used by the control\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets Close forecolor used by the control.\")]\n\t\tpublic Color CloseNormalForeColor\n\t\t{\n\t\t\tget { return _closeNormalForeColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_closeNormalForeColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets Close ForeColor used by the control\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets Close forecolor used by the control.\")]\n\t\tpublic Color CloseHoverForeColor\n\t\t{\n\t\t\tget { return _closeHoverForeColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_closeHoverForeColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets Close BackColor used by the control\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets Close backcolor used by the control.\")]\n\t\tpublic Color CloseHoverBackColor\n\t\t{\n\t\t\tget { return _closeHoverBackColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_closeHoverBackColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets Maximize ForeColor used by the control\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets Maximize forecolor used by the control.\")]\n\t\tpublic Color MaximizeHoverForeColor\n\t\t{\n\t\t\tget { return _maximizeHoverForeColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_maximizeHoverForeColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets Maximize BackColor used by the control\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets Maximize backcolor used by the control.\")]\n\t\tpublic Color MaximizeHoverBackColor\n\t\t{\n\t\t\tget { return _maximizeHoverBackColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_maximizeHoverBackColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets Maximize ForeColor used by the control\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets Maximize forecolor used by the control.\")]\n\t\tpublic Color MaximizeNormalForeColor\n\t\t{\n\t\t\tget { return _maximizeNormalForeColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_maximizeNormalForeColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets Minimize ForeColor used by the control\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets Minimize forecolor used by the control.\")]\n\t\tpublic Color MinimizeHoverForeColor\n\t\t{\n\t\t\tget { return _minimizeHoverForeColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_minimizeHoverForeColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets Minimize BackColor used by the control\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets Minimize backcolor used by the control.\")]\n\t\tpublic Color MinimizeHoverBackColor\n\t\t{\n\t\t\tget { return _minimizeHoverBackColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_minimizeHoverBackColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets Minimize ForeColor used by the control\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets Minimize forecolor used by the control.\")]\n\t\tpublic Color MinimizeNormalForeColor\n\t\t{\n\t\t\tget { return _minimizeNormalForeColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_minimizeNormalForeColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets disabled ForeColor used by the control\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets disabled forecolor used by the control.\")]\n\t\tpublic Color DisabledForeColor\n\t\t{\n\t\t\tget { return _disabledForeColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_disabledForeColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// I make BackColor inaccessible cause we have not use of it. \n\t\t/// </summary>\n\t\t[Browsable(false), EditorBrowsable(EditorBrowsableState.Never)]\n\t\tpublic override Color BackColor => Color.Transparent;\n\n\t\t#endregion\n\n\t\t#region Private \n\n\t\tprivate bool MinimizeHovered { get; set; }\n\n\t\tprivate bool MaximizeHovered { get; set; }\n\n\t\tprivate bool CloseHovered { get; set; }\n\n\t\t#endregion\n\n\t\t#endregion\n\n\t\t#region Draw Control\n\n\t\tprotected override void OnPaint(PaintEventArgs e)\n\t\t{\n\t\t\tvar g = e.Graphics;\n\t\t\tg.TextRenderingHint = TextRenderingHint.ClearTypeGridFit;\n\n\t\t\tusing (var closeBoxState = new SolidBrush(CloseHovered ? CloseHoverBackColor : Color.Transparent))\n\t\t\t{\n\t\t\t\tusing (var f = new Font(@\"Marlett\", 12))\n\t\t\t\t{\n\t\t\t\t\tusing (var tb = new SolidBrush(CloseHovered ? CloseHoverForeColor : CloseNormalForeColor))\n\t\t\t\t\t{\n\t\t\t\t\t\tusing (var sf = new StringFormat { Alignment = StringAlignment.Center })\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tg.FillRectangle(closeBoxState, new Rectangle(70, 5, 27, Height));\n\t\t\t\t\t\t\tg.DrawString(\"r\", f, CloseHovered ? tb : Brushes.Gray, new Point(Width - 16, 8), sf);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tusing (var maximizeBoxState = new SolidBrush(MaximizeBox ? MaximizeHovered ? MaximizeHoverBackColor : Color.Transparent : Color.Transparent))\n\t\t\t{\n\t\t\t\tusing (var f = new Font(@\"Marlett\", 12))\n\t\t\t\t{\n\t\t\t\t\tusing (var tb = new SolidBrush(MaximizeBox ? MaximizeHovered ? MaximizeHoverForeColor : MaximizeNormalForeColor : DisabledForeColor))\n\t\t\t\t\t{\n\t\t\t\t\t\tvar maxSymbol = Parent.FindForm()?.WindowState == FormWindowState.Maximized ? \"2\" : \"1\";\n\t\t\t\t\t\tusing (var sf = new StringFormat { Alignment = StringAlignment.Center })\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tg.FillRectangle(maximizeBoxState, new Rectangle(38, 5, 24, Height));\n\t\t\t\t\t\t\tg.DrawString(maxSymbol, f, tb, new Point(51, 7), sf);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tusing (var minimizeBoxState = new SolidBrush(MinimizeBox ? MinimizeHovered ? MinimizeHoverBackColor : Color.Transparent : Color.Transparent))\n\t\t\t{\n\t\t\t\tusing (var f = new Font(@\"Marlett\", 12))\n\t\t\t\t{\n\t\t\t\t\tusing (var tb = new SolidBrush(MinimizeBox ? MinimizeHovered ? MinimizeHoverForeColor : MinimizeNormalForeColor : DisabledForeColor))\n\t\t\t\t\t{\n\t\t\t\t\t\tusing (var sf = new StringFormat { Alignment = StringAlignment.Center })\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tg.FillRectangle(minimizeBoxState, new Rectangle(5, 5, 27, Height));\n\t\t\t\t\t\t\tg.DrawString(\"0\", f, tb, new Point(20, 7), sf);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t}\n\n\t\t#endregion\n\n\t\t#region Events\n\n\t\t/// <summary>\n\t\t/// Here we provide the fixed size while resizing.\n\t\t/// </summary>\n\t\t/// <param name=\"e\"></param>\n\t\tprotected override void OnResize(EventArgs e)\n\t\t{\n\t\t\tbase.OnResize(e);\n\t\t\tSize = new Size(100, 25);\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Handling mouse up event of the control so that we detect if cursor located in our need area.\n\t\t/// </summary>\n\t\t/// <param name=\"e\">MouseEventArgs</param>\n\t\tprotected override void OnMouseMove(MouseEventArgs e)\n\t\t{\n\t\t\tbase.OnMouseMove(e);\n\t\t\tif (e.Location.Y > 0 && e.Location.Y < (Height - 2))\n\t\t\t{\n\t\t\t\tif (e.Location.X > 0 && e.Location.X < 34)\n\t\t\t\t{\n\t\t\t\t\tCursor = Cursors.Hand;\n\t\t\t\t\tMinimizeHovered = true;\n\t\t\t\t\tMaximizeHovered = false;\n\t\t\t\t\tCloseHovered = false;\n\t\t\t\t}\n\t\t\t\telse if (e.Location.X > 33 && e.Location.X < 65)\n\t\t\t\t{\n\t\t\t\t\tCursor = Cursors.Hand;\n\t\t\t\t\tMinimizeHovered = false;\n\t\t\t\t\tMaximizeHovered = true;\n\t\t\t\t\tCloseHovered = false;\n\t\t\t\t}\n\t\t\t\telse if (e.Location.X > 64 && e.Location.X < Width)\n\t\t\t\t{\n\t\t\t\t\tCursor = Cursors.Hand;\n\t\t\t\t\tMinimizeHovered = false;\n\t\t\t\t\tMaximizeHovered = false;\n\t\t\t\t\tCloseHovered = true;\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tCursor = Cursors.Arrow;\n\t\t\t\t\tMinimizeHovered = false;\n\t\t\t\t\tMaximizeHovered = false;\n\t\t\t\t\tCloseHovered = false;\n\t\t\t\t}\n\t\t\t}\n\t\t\tInvalidate();\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Handling mouse up event of the control so that we can perform action commands.\n\t\t/// </summary>\n\t\t/// <param name=\"e\">MouseEventArgs</param>\n\t\tprotected override void OnMouseUp(MouseEventArgs e)\n\t\t{\n\t\t\tbase.OnMouseDown(e);\n\t\t\tif (CloseHovered)\n\t\t\t{\n\t\t\t\tParent.FindForm()?.Close();\n\t\t\t}\n\t\t\telse if (MinimizeHovered)\n\t\t\t{\n\t\t\t\tif (!MinimizeBox)\n\t\t\t\t\treturn;\n\t\t\t\tParent.FindForm().WindowState = FormWindowState.Minimized;\n\t\t\t}\n\t\t\telse if (MaximizeHovered)\n\t\t\t{\n\t\t\t\tif (MaximizeBox)\n\t\t\t\t{\n\t\t\t\t\tParent.FindForm().WindowState = Parent.FindForm()?.WindowState == FormWindowState.Normal ? FormWindowState.Maximized : FormWindowState.Normal;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Handling mouse leave event of the control.\n\t\t/// </summary>\n\t\t/// <param name=\"e\">EventArgs</param>\n\t\tprotected override void OnMouseLeave(EventArgs e)\n\t\t{\n\t\t\tbase.OnMouseLeave(e);\n\t\t\tCursor = Cursors.Default;\n\t\t\tMinimizeHovered = false;\n\t\t\tMaximizeHovered = false;\n\t\t\tCloseHovered = false;\n\t\t\tInvalidate();\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Handling mouse down event of the control.\n\t\t/// </summary>\n\t\t/// <param name=\"e\">MouseEventArgs</param>\n\t\tprotected override void OnMouseDown(MouseEventArgs e)\n\t\t{\n\t\t\tbase.OnMouseDown(e);\n\t\t\tFocus();\n\t\t}\n\n\t\t#endregion\n\n\t}\n}"
  },
  {
    "path": "MetroSet UI/Controls/MetroSetDefaultButton.cs",
    "content": "﻿/*\n * MetroSet UI - MetroSet UI Framework\n * \n * The MIT License (MIT)\n * Copyright (c) 2017 Narwin, https://github.com/N-a-r-w-i-n\n * \n * Permission is hereby granted, free of charge, to any person obtaining a copy of \n * this software and associated documentation files (the \"Software\"), to deal in the \n * Software without restriction, including without limitation the rights to use, copy, \n * modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, \n * and to permit persons to whom the Software is furnished to do so, subject to the \n * following conditions:\n * \n * The above copyright notice and this permission notice shall be included in \n * all copies or substantial portions of the Software.\n * \n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, \n * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A \n * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT \n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF \n * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE \n * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nusing System;\nusing System.ComponentModel;\nusing System.Drawing;\nusing System.Drawing.Text;\nusing System.Runtime.InteropServices;\nusing System.Windows.Forms;\nusing MetroSet_UI.Components;\nusing MetroSet_UI.Design;\nusing MetroSet_UI.Enums;\nusing MetroSet_UI.Extensions;\nusing MetroSet_UI.Interfaces;\n\nnamespace MetroSet_UI.Controls\n{\n\t[ToolboxItem(true)]\n\t[ToolboxBitmap(typeof(MetroSetDefaultButton), \"Bitmaps.Button.bmp\")]\n\t[Designer(typeof(MetroSetDefaultButtonDesigner))]\n\t[DefaultEvent(\"Click\")]\n\t[DefaultProperty(\"Text\")]\n\t[ComVisible(true)]\n\tpublic class MetroSetDefaultButton : Control, IMetroSetControl\n\t{\n\n\t\t#region Interfaces\n\n\t\t/// <summary>\n\t\t/// Gets or sets the style associated with the control.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the style associated with the control.\")]\n\t\tpublic Style Style\n\t\t{\n\t\t\tget => StyleManager?.Style ?? _style;\n\t\t\tset\n\t\t\t{\n\t\t\t\t_style = value;\n\t\t\t\tswitch (value)\n\t\t\t\t{\n\t\t\t\t\tcase Style.Light:\n\t\t\t\t\t\tApplyTheme();\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase Style.Dark:\n\t\t\t\t\t\tApplyTheme(Style.Dark);\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase Style.Custom:\n\t\t\t\t\t\tApplyTheme(Style.Custom);\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tApplyTheme();\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tInvalidate();\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets the The Author name associated with the theme.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the The Author name associated with the theme.\")]\n\t\tpublic string ThemeAuthor { get; set; }\n\n\t\t/// <summary>\n\t\t/// Gets or sets the The Theme name associated with the theme.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the The Theme name associated with the theme.\")]\n\t\tpublic string ThemeName { get; set; }\n\n\t\t/// <summary>\n\t\t/// Gets or sets the Style Manager associated with the control.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the Style Manager associated with the control.\")]\n\t\tpublic StyleManager StyleManager\n\t\t{\n\t\t\tget => _styleManager;\n\t\t\tset\n\t\t\t{\n\t\t\t\t_styleManager = value;\n\t\t\t\tInvalidate();\n\t\t\t}\n\t\t}\n\n\t\t#endregion Interfaces\n\n\t\t#region Global Vars\n\n\t\tprivate readonly Methods _mth;\n\t\tprivate readonly Utilites _utl;\n\n\t\t#endregion Global Vars\n\n\t\t#region Internal Vars\n\n\t\tprivate MouseMode _state;\n\t\tprivate Style _style;\n\t\tprivate StyleManager _styleManager;\n\n\t\tprivate Color _normalColor;\n\t\tprivate Color _normalBorderColor;\n\t\tprivate Color _normalTextColor;\n\t\tprivate Color _hoverColor;\n\t\tprivate Color _hoverBorderColor;\n\t\tprivate Color _hoverTextColor;\n\t\tprivate Color _pressColor;\n\t\tprivate Color _pressBorderColor;\n\t\tprivate Color _pressTextColor;\n\t\tprivate Color _disabledBackColor;\n\t\tprivate Color _disabledForeColor;\n\t\tprivate Color _disabledBorderColor;\n\n\t\t#endregion Internal Vars\n\n\t\t#region Constructors\n\n\t\tpublic MetroSetDefaultButton()\n\t\t{\n\t\t\tSetStyle(\n\t\t\t\tControlStyles.AllPaintingInWmPaint |\n\t\t\t\tControlStyles.ResizeRedraw | ControlStyles.UserPaint |\n\t\t\t\tControlStyles.OptimizedDoubleBuffer |\n\t\t\t\tControlStyles.SupportsTransparentBackColor, true);\n\t\t\tUpdateStyles();\n\t\t\tbase.Font = MetroSetFonts.Light(10);\n\t\t\t_utl = new Utilites();\n\t\t\t_mth = new Methods();\n\t\t\tApplyTheme();\n\t\t}\n\n\t\t#endregion Constructors\n\n\t\t#region Draw Control\n\n\t\tprotected override void OnPaint(PaintEventArgs e)\n\t\t{\n\t\t\tvar g = e.Graphics;\n\t\t\tvar r = new Rectangle(0, 0, Width - 1, Height - 1);\n\t\t\tg.TextRenderingHint = TextRenderingHint.ClearTypeGridFit;\n\n\t\t\tswitch (_state)\n\t\t\t{\n\t\t\t\tcase MouseMode.Normal:\n\n\t\t\t\t\tusing (var bg = new SolidBrush(NormalColor))\n\t\t\t\t\tusing (var p = new Pen(NormalBorderColor))\n\t\t\t\t\tusing (var tb = new SolidBrush(NormalTextColor))\n\t\t\t\t\t{\n\t\t\t\t\t\tg.FillRectangle(bg, r);\n\t\t\t\t\t\tg.DrawRectangle(p, r);\n\t\t\t\t\t\tg.DrawString(Text, Font, tb, new Rectangle(0, 0, Width, Height), _mth.SetPosition());\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase MouseMode.Hovered:\n\n\t\t\t\t\tCursor = Cursors.Hand;\n\t\t\t\t\tusing (var bg = new SolidBrush(HoverColor))\n\t\t\t\t\tusing (var p = new Pen(HoverBorderColor))\n\t\t\t\t\tusing (var tb = new SolidBrush(HoverTextColor))\n\t\t\t\t\t{\n\t\t\t\t\t\tg.FillRectangle(bg, r);\n\t\t\t\t\t\tg.DrawRectangle(p, r);\n\t\t\t\t\t\tg.DrawString(Text, Font, tb, new Rectangle(0, 0, Width, Height), _mth.SetPosition());\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase MouseMode.Pushed:\n\n\t\t\t\t\tusing (var bg = new SolidBrush(PressColor))\n\t\t\t\t\tusing (var p = new Pen(PressBorderColor))\n\t\t\t\t\tusing (var tb = new SolidBrush(PressTextColor))\n\t\t\t\t\t{\n\t\t\t\t\t\tg.FillRectangle(bg, r);\n\t\t\t\t\t\tg.DrawRectangle(p, r);\n\t\t\t\t\t\tg.DrawString(Text, Font, tb, new Rectangle(0, 0, Width, Height), _mth.SetPosition());\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase MouseMode.Disabled:\n\t\t\t\t\tusing (var bg = new SolidBrush(DisabledBackColor))\n\t\t\t\t\tusing (var p = new Pen(DisabledBorderColor))\n\t\t\t\t\tusing (var tb = new SolidBrush(DisabledForeColor))\n\t\t\t\t\t{\n\t\t\t\t\t\tg.FillRectangle(bg, r);\n\t\t\t\t\t\tg.DrawRectangle(p, r);\n\t\t\t\t\t\tg.DrawString(Text, Font, tb, new Rectangle(0, 0, Width, Height), _mth.SetPosition());\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\t#endregion Draw Control\n\n\t\t#region ApplyTheme\n\n\t\t/// <summary>\n\t\t/// Gets or sets the style provided by the user.\n\t\t/// </summary>\n\t\t/// <param name=\"style\">The Style.</param>\n\t\tprivate void ApplyTheme(Style style = Style.Light)\n\t\t{\n\t\t\tif (!IsDerivedStyle)\n\t\t\t\treturn;\n\n\t\t\tswitch (style)\n\t\t\t{\n\t\t\t\tcase Style.Light:\n\t\t\t\t\tNormalColor = Color.FromArgb(238, 238, 238);\n\t\t\t\t\tNormalBorderColor = Color.FromArgb(204, 204, 204);\n\t\t\t\t\tNormalTextColor = Color.Black;\n\t\t\t\t\tHoverColor = Color.FromArgb(102, 102, 102);\n\t\t\t\t\tHoverBorderColor = Color.FromArgb(102, 102, 102);\n\t\t\t\t\tHoverTextColor = Color.White;\n\t\t\t\t\tPressColor = Color.FromArgb(51, 51, 51);\n\t\t\t\t\tPressBorderColor = Color.FromArgb(51, 51, 51);\n\t\t\t\t\tPressTextColor = Color.White;\n\t\t\t\t\tDisabledBackColor = Color.FromArgb(204, 204, 204);\n\t\t\t\t\tDisabledBorderColor = Color.FromArgb(155, 155, 155);\n\t\t\t\t\tDisabledForeColor = Color.FromArgb(136, 136, 136);\n\t\t\t\t\tThemeAuthor = \"Narwin\";\n\t\t\t\t\tThemeName = \"MetroLite\";\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase Style.Dark:\n\t\t\t\t\tNormalColor = Color.FromArgb(32, 32, 32);\n\t\t\t\t\tNormalBorderColor = Color.FromArgb(64, 64, 64);\n\t\t\t\t\tNormalTextColor = Color.FromArgb(204, 204, 204);\n\t\t\t\t\tHoverColor = Color.FromArgb(170, 170, 170);\n\t\t\t\t\tHoverBorderColor = Color.FromArgb(170, 170, 170);\n\t\t\t\t\tHoverTextColor = Color.White;\n\t\t\t\t\tPressColor = Color.FromArgb(240, 240, 240);\n\t\t\t\t\tPressBorderColor = Color.FromArgb(240, 240, 240);\n\t\t\t\t\tPressTextColor = Color.White;\n\t\t\t\t\tDisabledBackColor = Color.FromArgb(80, 80, 80);\n\t\t\t\t\tDisabledBorderColor = Color.FromArgb(109, 109, 109);\n\t\t\t\t\tDisabledForeColor = Color.FromArgb(109, 109, 109);\n\t\t\t\t\tThemeAuthor = \"Narwin\";\n\t\t\t\t\tThemeName = \"MetroDark\";\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase Style.Custom:\n\t\t\t\t\tif (StyleManager != null)\n\t\t\t\t\t\tforeach (var varkey in StyleManager.DefaultButtonDictionary)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tif (varkey.Key == null)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tswitch (varkey.Key)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tcase \"NormalColor\":\n\t\t\t\t\t\t\t\t\tNormalColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\tcase \"NormalBorderColor\":\n\t\t\t\t\t\t\t\t\tNormalBorderColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\tcase \"NormalTextColor\":\n\t\t\t\t\t\t\t\t\tNormalTextColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\tcase \"HoverColor\":\n\t\t\t\t\t\t\t\t\tHoverColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\tcase \"HoverBorderColor\":\n\t\t\t\t\t\t\t\t\tHoverBorderColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\tcase \"HoverTextColor\":\n\t\t\t\t\t\t\t\t\tHoverTextColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\tcase \"PressColor\":\n\t\t\t\t\t\t\t\t\tPressColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\tcase \"PressBorderColor\":\n\t\t\t\t\t\t\t\t\tPressBorderColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\tcase \"PressTextColor\":\n\t\t\t\t\t\t\t\t\tPressTextColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\tcase \"DisabledBackColor\":\n\t\t\t\t\t\t\t\t\tDisabledBackColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\tcase \"DisabledBorderColor\":\n\t\t\t\t\t\t\t\t\tDisabledBorderColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\tcase \"DisabledForeColor\":\n\t\t\t\t\t\t\t\t\tDisabledForeColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\tRefresh();\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tthrow new ArgumentOutOfRangeException(nameof(style), style, null);\n\t\t\t}\n\t\t}\n\n\t\t#endregion Theme Changing\n\n\t\t#region Properties\n\n\t\t/// <summary>\n\t\t/// I make BackColor inaccessible cause we have not use of it. \n\t\t/// </summary>\n\t\t[Browsable(false), EditorBrowsable(EditorBrowsableState.Never)]\n\t\tpublic override Color BackColor => Color.Transparent;\n\n\t\t/// <summary>\n\t\t/// Handling Control Enable state to detect the disability state.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\tpublic new bool Enabled\n\t\t{\n\t\t\tget => base.Enabled;\n\t\t\tset\n\t\t\t{\n\t\t\t\tbase.Enabled = value;\n\t\t\t\tif (value == false)\n\t\t\t\t{\n\t\t\t\t\t_state = MouseMode.Disabled;\n\t\t\t\t}\n\t\t\t\tInvalidate();\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets the button background color in normal mouse sate.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\t[Description(\"Gets or sets the button background color in normal mouse sate.\")]\n\t\tpublic Color NormalColor\n\t\t{\n\t\t\tget { return _normalColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_normalColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets the button border color in normal mouse sate.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\t[Description(\"Gets or sets the button border color in normal mouse sate.\")]\n\t\tpublic Color NormalBorderColor\n\t\t{\n\t\t\tget { return _normalBorderColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_normalBorderColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets the button Text color in normal mouse sate.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\t[Description(\"Gets or sets the button Text color in normal mouse sate.\")]\n\t\tpublic Color NormalTextColor\n\t\t{\n\t\t\tget { return _normalTextColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_normalTextColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets the button background color in hover mouse sate.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\t[Description(\"Gets or sets the button background color in hover mouse sate.\")]\n\t\tpublic Color HoverColor\n\t\t{\n\t\t\tget { return _hoverColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_hoverColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets the button border color in hover mouse sate.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\t[Description(\"Gets or sets the button border color in hover mouse sate.\")]\n\t\tpublic Color HoverBorderColor\n\t\t{\n\t\t\tget { return _hoverBorderColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_hoverBorderColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets the button Text color in hover mouse sate.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\t[Description(\"Gets or sets the button Text color in hover mouse sate.\")]\n\t\tpublic Color HoverTextColor\n\t\t{\n\t\t\tget { return _hoverTextColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_hoverTextColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets the button background color in pushed mouse sate.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\t[Description(\"Gets or sets the button background color in pushed mouse sate.\")]\n\t\tpublic Color PressColor\n\t\t{\n\t\t\tget { return _pressColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_pressColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets the button border color in pushed mouse sate.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\t[Description(\"Gets or sets the button border color in pushed mouse sate.\")]\n\t\tpublic Color PressBorderColor\n\t\t{\n\t\t\tget { return _pressBorderColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_pressBorderColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets the button Text color in pushed mouse sate.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\t[Description(\"Gets or sets the button Text color in pushed mouse sate.\")]\n\t\tpublic Color PressTextColor\n\t\t{\n\t\t\tget { return _pressTextColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_pressTextColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets BackColor used by the control while disabled.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\t[Description(\"Gets or sets backcolor used by the control while disabled.\")]\n\t\tpublic Color DisabledBackColor\n\t\t{\n\t\t\tget { return _disabledBackColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_disabledBackColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets the ForeColor of the control whenever while disabled.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\t[Description(\"Gets or sets the forecolor of the control whenever while disabled.\")]\n\t\tpublic Color DisabledForeColor\n\t\t{\n\t\t\tget { return _disabledForeColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_disabledForeColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets the border color of the control while disabled.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\t[Description(\"Gets or sets the border color of the control while disabled.\")]\n\t\tpublic Color DisabledBorderColor\n\t\t{\n\t\t\tget { return _disabledBorderColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_disabledBorderColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\t\tprivate bool _isDerivedStyle = true;\n\n\t\t/// <summary>\n\t\t/// Gets or sets the whether this control reflect to parent form style.\n\t\t/// Set it to false if you want the style of this control be independent. \n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\t[Description(\"Gets or sets the whether this control reflect to parent(s) style. \\n \" +\n\t\t\t\t\t \"Set it to false if you want the style of this control be independent. \")]\n\t\tpublic bool IsDerivedStyle\n\t\t{\n\t\t\tget { return _isDerivedStyle; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_isDerivedStyle = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t#endregion\n\n\t\t#region Events\n\n\t\t/// <summary>\n\t\t/// Handling mouse up event of the control.\n\t\t/// </summary>\n\t\t/// <param name=\"e\">MouseEventArgs</param>\n\t\tprotected override void OnMouseUp(MouseEventArgs e)\n\t\t{\n\t\t\tbase.OnMouseUp(e);\n\t\t\t_state = MouseMode.Hovered;\n\t\t\tInvalidate();\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Handling mouse down event of the control.\n\t\t/// </summary>\n\t\t/// <param name=\"e\">MouseEventArgs</param>\n\t\tprotected override void OnMouseDown(MouseEventArgs e)\n\t\t{\n\t\t\tbase.OnMouseUp(e);\n\t\t\t_state = MouseMode.Pushed;\n\t\t\tInvalidate();\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Handling mouse entering event of the control.\n\t\t/// </summary>\n\t\t/// <param name=\"e\">MouseEventArgs</param>\n\t\tprotected override void OnMouseEnter(EventArgs e)\n\t\t{\n\t\t\tbase.OnMouseEnter(e);\n\t\t\t_state = MouseMode.Hovered;\n\t\t\tInvalidate();\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Handling mouse leave event of the control.\n\t\t/// </summary>\n\t\t/// <param name=\"e\">EventArgs</param>\n\t\tprotected override void OnMouseLeave(EventArgs e)\n\t\t{\n\t\t\tbase.OnMouseEnter(e);\n\t\t\t_state = MouseMode.Normal;\n\t\t\tInvalidate();\n\t\t}\n\n\t\t#endregion Events\n\t}\n}"
  },
  {
    "path": "MetroSet UI/Controls/MetroSetDivider.cs",
    "content": "﻿/*\n* MetroSet UI - MetroSet UI Framework\n* \n* The MIT License (MIT)\n* Copyright (c) 2017 Narwin, https://github.com/N-a-r-w-i-n\n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of \n* this software and associated documentation files (the \"Software\"), to deal in the \n* Software without restriction, including without limitation the rights to use, copy, \n* modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, \n* and to permit persons to whom the Software is furnished to do so, subject to the \n* following conditions:\n* \n* The above copyright notice and this permission notice shall be included in \n* all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, \n* INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A \n* PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT \n* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF \n* CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE \n* OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n*/\n\nusing System;\nusing System.ComponentModel;\nusing System.Drawing;\nusing System.Runtime.InteropServices;\nusing System.Windows.Forms;\nusing MetroSet_UI.Components;\nusing MetroSet_UI.Design;\nusing MetroSet_UI.Enums;\nusing MetroSet_UI.Extensions;\nusing MetroSet_UI.Interfaces;\n\nnamespace MetroSet_UI.Controls\n{\n\t[ToolboxItem(true)]\n\t[ToolboxBitmap(typeof(MetroSetDivider), \"Bitmaps.Divider.bmp\")]\n\t[Designer(typeof(MetroSetDividerDesigner))]\n\t[DefaultProperty(\"Orientation\")]\n\t[ComVisible(true)]\n\tpublic class MetroSetDivider : Control, IMetroSetControl\n\t{\n\t\t#region Interfaces\n\n\t\t/// <summary>\n\t\t/// Gets or sets the style associated with the control.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the style associated with the control.\")]\n\t\tpublic Style Style\n\t\t{\n\t\t\tget => StyleManager?.Style ?? _style;\n\t\t\tset\n\t\t\t{\n\t\t\t\t_style = value;\n\t\t\t\tswitch (value)\n\t\t\t\t{\n\t\t\t\t\tcase Style.Light:\n\t\t\t\t\t\tApplyTheme();\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase Style.Dark:\n\t\t\t\t\t\tApplyTheme(Style.Dark);\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase Style.Custom:\n\t\t\t\t\t\tApplyTheme(Style.Custom);\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tApplyTheme();\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tInvalidate();\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets the Style Manager associated with the control.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the Style Manager associated with the control.\")]\n\t\tpublic StyleManager StyleManager\n\t\t{\n\t\t\tget => _styleManager;\n\t\t\tset { _styleManager = value; Invalidate(); }\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets the The Author name associated with the theme.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the The Author name associated with the theme.\")]\n\t\tpublic string ThemeAuthor { get; set; }\n\n\t\t/// <summary>\n\t\t/// Gets or sets the The Theme name associated with the theme.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the The Theme name associated with the theme.\")]\n\t\tpublic string ThemeName { get; set; }\n\n\t\t#endregion Interfaces\n\n\t\t#region Global Vars\n\n\t\tprivate readonly Utilites _utl;\n\n\t\t#endregion Global Vars\n\n\t\t#region Internal Vars\n\n\t\tprivate Style _style;\n\t\tprivate StyleManager _styleManager;\n\n\t\tprivate DividerStyle _orientation;\n\t\tprivate int _thickness;\n\n\t\t#endregion Internal Vars\n\n\t\t#region Constructors\n\n\t\tpublic MetroSetDivider()\n\t\t{\n\t\t\tSetStyle(\n\t\t\t\tControlStyles.OptimizedDoubleBuffer |\n\t\t\t\tControlStyles.SupportsTransparentBackColor, true);\n\t\t\tUpdateStyles();\n\t\t\t_utl = new Utilites();\n\t\t\tApplyTheme();\n\t\t\tOrientation = DividerStyle.Horizontal;\n\t\t}\n\n\t\t#endregion Constructors\n\n\t\t#region ApplyTheme\n\n\t\t/// <summary>\n\t\t/// Gets or sets the style provided by the user.\n\t\t/// </summary>\n\t\t/// <param name=\"style\">The Style.</param>\n\t\tprivate void ApplyTheme(Style style = Style.Light)\n\t\t{\n\t\t\tif (!IsDerivedStyle)\n\t\t\t\treturn;\n\n\t\t\tswitch (style)\n\t\t\t{\n\t\t\t\tcase Style.Light:\n\t\t\t\t\tThickness = 1;\n\t\t\t\t\tForeColor = Color.Black;\n\t\t\t\t\tThemeAuthor = \"Narwin\";\n\t\t\t\t\tThemeName = \"MetroLite\";\n\t\t\t\t\tUpdateProperties();\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase Style.Dark:\n\t\t\t\t\tThickness = 1;\n\t\t\t\t\tForeColor = Color.FromArgb(170, 170, 170);\n\t\t\t\t\tThemeAuthor = \"Narwin\";\n\t\t\t\t\tThemeName = \"MetroDark\";\n\t\t\t\t\tUpdateProperties();\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase Style.Custom:\n\t\t\t\t\tif (StyleManager != null)\n\t\t\t\t\t\tforeach (var varkey in StyleManager.DividerDictionary)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tswitch (varkey.Key)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tcase \"Orientation\":\n\t\t\t\t\t\t\t\t\tif ((string)varkey.Value == \"Horizontal\")\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tOrientation = DividerStyle.Horizontal;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\telse if ((string)varkey.Value == \"Vertical\")\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tOrientation = DividerStyle.Vertical;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tcase \"Thickness\":\n\t\t\t\t\t\t\t\t\tThickness = ((int)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tcase \"ForeColor\":\n\t\t\t\t\t\t\t\t\tForeColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\tUpdateProperties();\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tthrow new ArgumentOutOfRangeException(nameof(style), style, null);\n\t\t\t}\n\t\t}\n\n\t\tprivate void UpdateProperties()\n\t\t{\n\t\t\tInvalidate();\n\t\t}\n\n\t\t#endregion ApplyTheme\n\n\t\t#region Draw Control\n\n\t\tprotected override void OnPaint(PaintEventArgs e)\n\t\t{\n\t\t\tvar g = e.Graphics;\n\t\t\tusing (var p = new Pen(ForeColor, Thickness))\n\t\t\t{\n\t\t\t\tif (Orientation == DividerStyle.Horizontal)\n\t\t\t\t\tg.DrawLine(p, 0, Thickness, Width, Thickness);\n\t\t\t\telse\n\t\t\t\t\tg.DrawLine(p, Thickness, 0, Thickness, Height);\n\t\t\t}\n\t\t}\n\n\t\t#endregion Draw Control\n\n\t\t#region Properties\n\n\t\t/// <summary>\n\t\t/// Gets or sets the style associated with the control.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets Orientation of the control.\")]\n\t\tpublic DividerStyle Orientation\n\t\t{\n\t\t\tget { return _orientation; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_orientation = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets the divider thickness.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the divider thickness.\")]\n\t\tpublic int Thickness\n\t\t{\n\t\t\tget { return _thickness; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_thickness = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// I make BackColor inaccessible cause I want it to be just transparent and I used another property for the same job in following properties. \n\t\t/// </summary>\n\t\t[Browsable(false), EditorBrowsable(EditorBrowsableState.Never)]\n\t\tpublic override Color BackColor => Color.Transparent;\n\n\t\t/// <summary>\n\t\t/// Gets or sets ForeColor used by the control\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the form forecolor.\")]\n\t\tpublic override Color ForeColor { get; set; }\n\n\t\tprivate bool _isDerivedStyle = true;\n\n\t\t/// <summary>\n\t\t/// Gets or sets the whether this control reflect to parent form style.\n\t\t/// Set it to false if you want the style of this control be independent. \n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\t[Description(\"Gets or sets the whether this control reflect to parent(s) style. \\n \" +\n\t\t\t\t\t \"Set it to false if you want the style of this control be independent. \")]\n\t\tpublic bool IsDerivedStyle\n\t\t{\n\t\t\tget { return _isDerivedStyle; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_isDerivedStyle = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\t\t#endregion Properties\n\n\t\t#region Events\n\n\t\t/// <summary>\n\t\t/// Here we handle the width and height while resizing.\n\t\t/// </summary>\n\t\t/// <param name=\"e\"></param>\n\t\tprotected override void OnResize(EventArgs e)\n\t\t{\n\t\t\tbase.OnResize(e);\n\t\t\tif (Orientation == DividerStyle.Horizontal)\n\t\t\t{\n\t\t\t\tHeight = Thickness + 3;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tWidth = Thickness + 3;\n\t\t\t}\n\t\t}\n\n\t\t#endregion Events\n\t}\n}"
  },
  {
    "path": "MetroSet UI/Controls/MetroSetEllipse.cs",
    "content": "﻿/*\n* MetroSet UI - MetroSet UI Framework\n* \n* The MIT License (MIT)\n* Copyright (c) 2017 Narwin, https://github.com/N-a-r-w-i-n\n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of \n* this software and associated documentation files (the \"Software\"), to deal in the \n* Software without restriction, including without limitation the rights to use, copy, \n* modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, \n* and to permit persons to whom the Software is furnished to do so, subject to the \n* following conditions:\n* \n* The above copyright notice and this permission notice shall be included in \n* all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, \n* INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A \n* PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT \n* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF \n* CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE \n* OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n*/\n\nusing System;\nusing System.ComponentModel;\nusing System.Drawing;\nusing System.Drawing.Text;\nusing System.Runtime.InteropServices;\nusing System.Windows.Forms;\nusing MetroSet_UI.Components;\nusing MetroSet_UI.Design;\nusing MetroSet_UI.Enums;\nusing MetroSet_UI.Extensions;\nusing MetroSet_UI.Interfaces;\n\nnamespace MetroSet_UI.Controls\n{\n\t[ToolboxItem(true)]\n\t[ToolboxBitmap(typeof(MetroSetEllipse), \"Bitmaps.Ellipse.bmp\")]\n\t[Designer(typeof(MetroSetEllipseDesigner))]\n\t[DefaultEvent(\"Click\")]\n\t[DefaultProperty(\"Text\")]\n\t[ComVisible(true)]\n\tpublic class MetroSetEllipse : Control, IMetroSetControl\n\t{\n\n\t\t#region Interfaces\n\n\t\t/// <summary>\n\t\t/// Gets or sets the style associated with the control.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the style associated with the control.\")]\n\t\tpublic Style Style\n\t\t{\n\t\t\tget => StyleManager?.Style ?? _style;\n\t\t\tset\n\t\t\t{\n\t\t\t\t_style = value;\n\t\t\t\tswitch (value)\n\t\t\t\t{\n\t\t\t\t\tcase Style.Light:\n\t\t\t\t\t\tApplyTheme();\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase Style.Dark:\n\t\t\t\t\t\tApplyTheme(Style.Dark);\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase Style.Custom:\n\t\t\t\t\t\tApplyTheme(Style.Custom);\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tApplyTheme();\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tInvalidate();\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets the The Author name associated with the theme.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the The Author name associated with the theme.\")]\n\t\tpublic string ThemeAuthor { get; set; }\n\n\t\t/// <summary>\n\t\t/// Gets or sets the The Theme name associated with the theme.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the The Theme name associated with the theme.\")]\n\t\tpublic string ThemeName { get; set; }\n\n\t\t/// <summary>\n\t\t/// Gets or sets the Style Manager associated with the control.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the Style Manager associated with the control.\")]\n\t\tpublic StyleManager StyleManager\n\t\t{\n\t\t\tget => _styleManager;\n\t\t\tset\n\t\t\t{\n\t\t\t\t_styleManager = value;\n\t\t\t\tInvalidate();\n\t\t\t}\n\t\t}\n\n\t\t#endregion Interfaces\n\n\t\t#region Global Vars\n\n\t\tprivate readonly Methods _mth;\n\t\tprivate readonly Utilites _utl;\n\n\t\t#endregion Global Vars\n\n\t\t#region Internal Vars\n\n\t\tprivate MouseMode _state;\n\t\tprivate Style _style;\n\t\tprivate StyleManager _styleManager;\n\n\t\tprivate int _borderThickness = 7;\n\t\tprivate Image _image;\n\t\tprivate Size _imageSize = new Size(64, 64);\n\t\tprivate Color _normalColor;\n\t\tprivate Color _normalBorderColor;\n\t\tprivate Color _normalTextColor;\n\t\tprivate Color _hoverColor;\n\t\tprivate Color _hoverBorderColor;\n\t\tprivate Color _hoverTextColor;\n\t\tprivate Color _pressColor;\n\t\tprivate Color _pressBorderColor;\n\t\tprivate Color _pressTextColor;\n\t\tprivate Color _disabledBackColor;\n\t\tprivate Color _disabledForeColor;\n\t\tprivate Color _disabledBorderColor;\n\n\t\t#endregion Internal Vars\n\n\t\t#region Constructors\n\n\t\tpublic MetroSetEllipse()\n\t\t{\n\t\t\tSetStyle(\n\t\t\t\tControlStyles.AllPaintingInWmPaint |\n\t\t\t\tControlStyles.ResizeRedraw | ControlStyles.UserPaint |\n\t\t\t\tControlStyles.OptimizedDoubleBuffer |\n\t\t\t\tControlStyles.SupportsTransparentBackColor, true);\n\t\t\tUpdateStyles();\n\t\t\tbase.Font = MetroSetFonts.Light(10);\n\t\t\t_utl = new Utilites();\n\t\t\t_mth = new Methods();\n\t\t\tApplyTheme();\n\t\t}\n\n\t\t#endregion Constructors\n\n\t\t#region Draw Control\n\n\t\tprotected override void OnPaint(PaintEventArgs e)\n\t\t{\n\t\t\tvar g = e.Graphics;\n\t\t\tvar r = new Rectangle(BorderThickness, BorderThickness, Width - ((BorderThickness * 2) + 1), Height - ((BorderThickness * 2) + 1));\n\t\t\tg.TextRenderingHint = TextRenderingHint.ClearTypeGridFit;\n\t\t\tg.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;\n\n\t\t\tswitch (_state)\n\t\t\t{\n\t\t\t\tcase MouseMode.Normal:\n\n\t\t\t\t\tusing (var bg = new SolidBrush(NormalColor))\n\t\t\t\t\tusing (var p = new Pen(NormalBorderColor, BorderThickness))\n\t\t\t\t\tusing (var tb = new SolidBrush(NormalTextColor))\n\t\t\t\t\t{\n\t\t\t\t\t\tg.FillEllipse(bg, r);\n\t\t\t\t\t\tg.DrawEllipse(p, r);\n\t\t\t\t\t\tg.DrawString(Text, Font, tb, new Rectangle(0, 0, Width, Height), _mth.SetPosition());\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase MouseMode.Hovered:\n\n\t\t\t\t\tCursor = Cursors.Hand;\n\t\t\t\t\tusing (var bg = new SolidBrush(HoverColor))\n\t\t\t\t\tusing (var p = new Pen(HoverBorderColor, BorderThickness))\n\t\t\t\t\tusing (var tb = new SolidBrush(HoverTextColor))\n\t\t\t\t\t{\n\t\t\t\t\t\tg.FillEllipse(bg, r);\n\t\t\t\t\t\tg.DrawEllipse(p, r);\n\t\t\t\t\t\tg.DrawString(Text, Font, tb, new Rectangle(0, 0, Width, Height), _mth.SetPosition());\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase MouseMode.Pushed:\n\n\t\t\t\t\tusing (var bg = new SolidBrush(PressColor))\n\t\t\t\t\tusing (var p = new Pen(PressBorderColor, BorderThickness))\n\t\t\t\t\tusing (var tb = new SolidBrush(PressTextColor))\n\t\t\t\t\t{\n\t\t\t\t\t\tg.FillEllipse(bg, r);\n\t\t\t\t\t\tg.DrawEllipse(p, r);\n\t\t\t\t\t\tg.DrawString(Text, Font, tb, new Rectangle(0, 0, Width, Height), _mth.SetPosition());\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase MouseMode.Disabled:\n\t\t\t\t\tusing (var bg = new SolidBrush(DisabledBackColor))\n\t\t\t\t\tusing (var p = new Pen(DisabledBorderColor, BorderThickness))\n\t\t\t\t\tusing (var tb = new SolidBrush(DisabledForeColor))\n\t\t\t\t\t{\n\t\t\t\t\t\tg.FillEllipse(bg, r);\n\t\t\t\t\t\tg.DrawEllipse(p, r);\n\t\t\t\t\t\tg.DrawString(Text, Font, tb, new Rectangle(0, 0, Width, Height), _mth.SetPosition());\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tthrow new ArgumentOutOfRangeException();\n\t\t\t}\n\n\t\t\tif (Image == null)\n\t\t\t\treturn;\n\t\t\tvar imgRect = new Rectangle(new Point((Width - ImageSize.Width) / 2, (Height - ImageSize.Height) / 2), ImageSize);\n\t\t\tg.DrawImage(Image, imgRect);\n\t\t}\n\n\t\t#endregion Draw Control\n\n\t\t#region ApplyTheme\n\n\t\t/// <summary>\n\t\t/// Gets or sets the style provided by the user.\n\t\t/// </summary>\n\t\t/// <param name=\"style\">The Style.</param>\n\t\tprivate void ApplyTheme(Style style = Style.Light)\n\t\t{\n\t\t\tif (!IsDerivedStyle)\n\t\t\t\treturn;\n\n\t\t\tswitch (style)\n\t\t\t{\n\t\t\t\tcase Style.Light:\n\t\t\t\t\tNormalColor = Color.FromArgb(238, 238, 238);\n\t\t\t\t\tNormalBorderColor = Color.FromArgb(204, 204, 204);\n\t\t\t\t\tNormalTextColor = Color.Black;\n\t\t\t\t\tHoverColor = Color.FromArgb(102, 102, 102);\n\t\t\t\t\tHoverBorderColor = Color.FromArgb(102, 102, 102);\n\t\t\t\t\tHoverTextColor = Color.White;\n\t\t\t\t\tPressColor = Color.FromArgb(51, 51, 51);\n\t\t\t\t\tPressBorderColor = Color.FromArgb(51, 51, 51);\n\t\t\t\t\tPressTextColor = Color.White;\n\t\t\t\t\tDisabledBackColor = Color.FromArgb(204, 204, 204);\n\t\t\t\t\tDisabledBorderColor = Color.FromArgb(155, 155, 155);\n\t\t\t\t\tDisabledForeColor = Color.FromArgb(136, 136, 136);\n\t\t\t\t\tThemeAuthor = \"Narwin\";\n\t\t\t\t\tThemeName = \"MetroLite\";\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase Style.Dark:\n\t\t\t\t\tNormalColor = Color.FromArgb(32, 32, 32);\n\t\t\t\t\tNormalBorderColor = Color.FromArgb(64, 64, 64);\n\t\t\t\t\tNormalTextColor = Color.FromArgb(204, 204, 204);\n\t\t\t\t\tHoverColor = Color.FromArgb(170, 170, 170);\n\t\t\t\t\tHoverBorderColor = Color.FromArgb(170, 170, 170);\n\t\t\t\t\tHoverTextColor = Color.White;\n\t\t\t\t\tPressColor = Color.FromArgb(240, 240, 240);\n\t\t\t\t\tPressBorderColor = Color.FromArgb(240, 240, 240);\n\t\t\t\t\tPressTextColor = Color.White;\n\t\t\t\t\tDisabledBackColor = Color.FromArgb(80, 80, 80);\n\t\t\t\t\tDisabledBorderColor = Color.FromArgb(109, 109, 109);\n\t\t\t\t\tDisabledForeColor = Color.FromArgb(109, 109, 109);\n\t\t\t\t\tThemeAuthor = \"Narwin\";\n\t\t\t\t\tThemeName = \"MetroDark\";\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase Style.Custom:\n\t\t\t\t\tif (StyleManager != null)\n\t\t\t\t\t\tforeach (var varkey in StyleManager.EllipseDictionary)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tif ((varkey.Key == null) || varkey.Key == null)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (varkey.Key == \"NormalColor\")\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tNormalColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse if (varkey.Key == \"NormalBorderColor\")\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tNormalBorderColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse if (varkey.Key == \"NormalTextColor\")\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tNormalTextColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse if (varkey.Key == \"HoverColor\")\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tHoverColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse if (varkey.Key == \"HoverBorderColor\")\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tHoverBorderColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse if (varkey.Key == \"HoverTextColor\")\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tHoverTextColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse if (varkey.Key == \"PressColor\")\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tPressColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse if (varkey.Key == \"PressBorderColor\")\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tPressBorderColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse if (varkey.Key == \"PressTextColor\")\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tPressTextColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse if (varkey.Key == \"DisabledBackColor\")\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tDisabledBackColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse if (varkey.Key == \"DisabledBorderColor\")\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tDisabledBorderColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse if (varkey.Key == \"DisabledForeColor\")\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tDisabledForeColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\tRefresh();\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tthrow new ArgumentOutOfRangeException(nameof(style), style, null);\n\t\t\t}\n\t\t}\n\n\t\t#endregion Theme Changing\n\n\t\t#region Properties\n\n\t\t/// <summary>\n\t\t/// I make BackColor inaccessible cause we have not use of it. \n\t\t/// </summary>\n\t\t[Browsable(false), EditorBrowsable(EditorBrowsableState.Never)]\n\t\tpublic override Color BackColor => Color.Transparent;\n\n\t\t/// <summary>\n\t\t/// Gets or sets the border thickness with the control.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the border thickness associated with the control.\")]\n\t\tpublic int BorderThickness\n\t\t{\n\t\t\tget { return _borderThickness; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_borderThickness = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Handling Control Enable state to detect the disability state.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\tpublic new bool Enabled\n\t\t{\n\t\t\tget => base.Enabled;\n\t\t\tset\n\t\t\t{\n\t\t\t\tbase.Enabled = value;\n\t\t\t\tif (value == false)\n\t\t\t\t{\n\t\t\t\t\t_state = MouseMode.Disabled;\n\t\t\t\t}\n\t\t\t\tInvalidate();\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets the image associated with the control.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the image associated with the control.\")]\n\t\tpublic Image Image\n\t\t{\n\t\t\tget { return _image; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_image = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets the image size associated with the control.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the image size associated with the control.\")]\n\t\tpublic Size ImageSize\n\t\t{\n\t\t\tget { return _imageSize; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_imageSize = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets the control background color in normal mouse sate.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\t[Description(\"Gets or sets the control background color in normal mouse sate.\")]\n\t\tpublic Color NormalColor\n\t\t{\n\t\t\tget { return _normalColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_normalColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets the control border color in normal mouse sate.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\t[Description(\"Gets or sets the control border color in normal mouse sate.\")]\n\t\tpublic Color NormalBorderColor\n\t\t{\n\t\t\tget { return _normalBorderColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_normalBorderColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets the control Text color in normal mouse sate.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\t[Description(\"Gets or sets the control Text color in normal mouse sate.\")]\n\t\tpublic Color NormalTextColor\n\t\t{\n\t\t\tget { return _normalTextColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_normalTextColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets the control background color in hover mouse sate.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\t[Description(\"Gets or sets the control background color in hover mouse sate.\")]\n\t\tpublic Color HoverColor\n\t\t{\n\t\t\tget { return _hoverColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_hoverColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets the control border color in hover mouse sate.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\t[Description(\"Gets or sets the control border color in hover mouse sate.\")]\n\t\tpublic Color HoverBorderColor\n\t\t{\n\t\t\tget { return _hoverBorderColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_hoverBorderColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets the control Text color in hover mouse sate.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\t[Description(\"Gets or sets the control Text color in hover mouse sate.\")]\n\t\tpublic Color HoverTextColor\n\t\t{\n\t\t\tget { return _hoverTextColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_hoverTextColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets the control background color in pushed mouse sate.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\t[Description(\"Gets or sets the control background color in pushed mouse sate.\")]\n\t\tpublic Color PressColor\n\t\t{\n\t\t\tget { return _pressColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_pressColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets the control border color in pushed mouse sate.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\t[Description(\"Gets or sets the control border color in pushed mouse sate.\")]\n\t\tpublic Color PressBorderColor\n\t\t{\n\t\t\tget { return _pressBorderColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_pressBorderColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets the control Text color in pushed mouse sate.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\t[Description(\"Gets or sets the control Text color in pushed mouse sate.\")]\n\t\tpublic Color PressTextColor\n\t\t{\n\t\t\tget { return _pressTextColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_pressTextColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets BackColor used by the control while disabled.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\t[Description(\"Gets or sets backcolor used by the control while disabled.\")]\n\t\tpublic Color DisabledBackColor\n\t\t{\n\t\t\tget { return _disabledBackColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_disabledBackColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets the ForeColor of the control whenever while disabled.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\t[Description(\"Gets or sets the forecolor of the control whenever while disabled.\")]\n\t\tpublic Color DisabledForeColor\n\t\t{\n\t\t\tget { return _disabledForeColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_disabledForeColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets the border color of the control while disabled.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\t[Description(\"Gets or sets the border color of the control while disabled.\")]\n\t\tpublic Color DisabledBorderColor\n\t\t{\n\t\t\tget { return _disabledBorderColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_disabledBorderColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\tprivate bool _isDerivedStyle = true;\n\n\t\t/// <summary>\n\t\t/// Gets or sets the whether this control reflect to parent form style.\n\t\t/// Set it to false if you want the style of this control be independent. \n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\t[Description(\"Gets or sets the whether this control reflect to parent(s) style. \\n \" +\n\t\t\t\t\t \"Set it to false if you want the style of this control be independent. \")]\n\t\tpublic bool IsDerivedStyle\n\t\t{\n\t\t\tget { return _isDerivedStyle; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_isDerivedStyle = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t#endregion\n\n\t\t#region Events\n\n\t\t/// <summary>\n\t\t/// Handling mouse up event of the control.\n\t\t/// </summary>\n\t\t/// <param name=\"e\">MouseEventArgs</param>\n\t\tprotected override void OnMouseUp(MouseEventArgs e)\n\t\t{\n\t\t\tbase.OnMouseUp(e);\n\t\t\t_state = MouseMode.Hovered;\n\t\t\tInvalidate();\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Handling mouse down event of the control.\n\t\t/// </summary>\n\t\t/// <param name=\"e\">MouseEventArgs</param>\n\t\tprotected override void OnMouseDown(MouseEventArgs e)\n\t\t{\n\t\t\tbase.OnMouseUp(e);\n\t\t\t_state = MouseMode.Pushed;\n\t\t\tInvalidate();\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Handling mouse entering event of the control.\n\t\t/// </summary>\n\t\t/// <param name=\"e\">MouseEventArgs</param>\n\t\tprotected override void OnMouseEnter(EventArgs e)\n\t\t{\n\t\t\tbase.OnMouseEnter(e);\n\t\t\t_state = MouseMode.Hovered;\n\t\t\tInvalidate();\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Handling mouse leave event of the control.\n\t\t/// </summary>\n\t\t/// <param name=\"e\">EventArgs</param>\n\t\tprotected override void OnMouseLeave(EventArgs e)\n\t\t{\n\t\t\tbase.OnMouseEnter(e);\n\t\t\t_state = MouseMode.Normal;\n\t\t\tInvalidate();\n\t\t}\n\n\t\t#endregion Events\n\n\t}\n}"
  },
  {
    "path": "MetroSet UI/Controls/MetroSetLabel.cs",
    "content": "﻿/*\n* MetroSet UI - MetroSet UI Framework\n* \n* The MIT License (MIT)\n* Copyright (c) 2017 Narwin, https://github.com/N-a-r-w-i-n\n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of \n* this software and associated documentation files (the \"Software\"), to deal in the \n* Software without restriction, including without limitation the rights to use, copy, \n* modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, \n* and to permit persons to whom the Software is furnished to do so, subject to the \n* following conditions:\n* \n* The above copyright notice and this permission notice shall be included in \n* all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, \n* INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A \n* PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT \n* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF \n* CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE \n* OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n*/\n\nusing System;\nusing System.ComponentModel;\nusing System.Drawing;\nusing System.Runtime.InteropServices;\nusing System.Windows.Forms;\nusing MetroSet_UI.Components;\nusing MetroSet_UI.Design;\nusing MetroSet_UI.Enums;\nusing MetroSet_UI.Extensions;\nusing MetroSet_UI.Interfaces;\n\nnamespace MetroSet_UI.Controls\n{\n\t[ToolboxItem(true)]\n\t[ToolboxBitmap(typeof(MetroSetLabel), \"Bitmaps.Label.bmp\")]\n\t[Designer(typeof(MetroSetLabelDesigner))]\n\t[DefaultProperty(\"Text\")]\n\t[ComVisible(true)]\n\tpublic class MetroSetLabel : Label, IMetroSetControl\n\t{\n\t\t#region Interfaces\n\n\t\t/// <summary>\n\t\t/// Gets or sets the style associated with the control.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the style associated with the control.\")]\n\t\tpublic Style Style\n\t\t{\n\t\t\tget => StyleManager?.Style ?? _style;\n\t\t\tset\n\t\t\t{\n\t\t\t\t_style = value;\n\t\t\t\tswitch (value)\n\t\t\t\t{\n\t\t\t\t\tcase Style.Light:\n\t\t\t\t\t\tApplyTheme();\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase Style.Dark:\n\t\t\t\t\t\tApplyTheme(Style.Dark);\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase Style.Custom:\n\t\t\t\t\t\tApplyTheme(Style.Custom);\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tApplyTheme();\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tInvalidate();\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets the Style Manager associated with the control.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the Style Manager associated with the control.\")]\n\t\tpublic StyleManager StyleManager\n\t\t{\n\t\t\tget => _styleManager;\n\t\t\tset { _styleManager = value; Invalidate(); }\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets the The Author name associated with the theme.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the The Author name associated with the theme.\")]\n\t\tpublic string ThemeAuthor { get; set; }\n\n\t\t/// <summary>\n\t\t/// Gets or sets the The Theme name associated with the theme.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the The Theme name associated with the theme.\")]\n\t\tpublic string ThemeName { get; set; }\n\n\t\t#endregion Interfaces\n\n\t\t#region Global Vars\n\n\t\tprivate Methods mth;\n\t\tprivate Utilites utl;\n\n\t\t#endregion Global Vars\n\n\t\t#region Internal Vars\n\n\t\tprivate Style _style;\n\t\tprivate StyleManager _styleManager;\n\n\t\t#endregion Internal Vars\n\n\t\t#region Constructors\n\n\t\tpublic MetroSetLabel()\n\t\t{\n\t\t\tSetStyle(\n\t\t\t\tControlStyles.ResizeRedraw |\n\t\t\t\tControlStyles.OptimizedDoubleBuffer |\n\t\t\t\tControlStyles.SupportsTransparentBackColor, true);\n\t\t\tUpdateStyles();\n\t\t\tbase.Font = MetroSetFonts.Light(10);\n\t\t\tmth = new Methods();\n\t\t\tutl = new Utilites();\n\t\t\tApplyTheme();\n\t\t}\n\n\t\t#endregion Constructors\n\n\t\t#region ApplyTheme\n\n\t\t/// <summary>\n\t\t/// Gets or sets the style provided by the user.\n\t\t/// </summary>\n\t\t/// <param name=\"style\">The Style.</param>\n\t\tprivate void ApplyTheme(Style style = Style.Light)\n\t\t{\n\t\t\tif (!IsDerivedStyle)\n\t\t\t\treturn;\n\n\t\t\tswitch (style)\n\t\t\t{\n\t\t\t\tcase Style.Light:\n\t\t\t\t\tForeColor = Color.Black;\n\t\t\t\t\tBackColor = Color.Transparent;\n\t\t\t\t\tThemeAuthor = \"Narwin\";\n\t\t\t\t\tThemeName = \"MetroLite\";\n\t\t\t\t\tUpdateProperties();\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase Style.Dark:\n\t\t\t\t\tForeColor = Color.FromArgb(170, 170, 170);\n\t\t\t\t\tBackColor = Color.Transparent;\n\t\t\t\t\tThemeAuthor = \"Narwin\";\n\t\t\t\t\tThemeName = \"MetroDark\";\n\t\t\t\t\tUpdateProperties();\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase Style.Custom:\n\t\t\t\t\tif (StyleManager != null)\n\t\t\t\t\t\tforeach (var varkey in StyleManager.LabelDictionary)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tswitch (varkey.Key)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tcase \"ForeColor\":\n\t\t\t\t\t\t\t\t\tForeColor = utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tcase \"BackColor\":\n\t\t\t\t\t\t\t\t\tBackColor = utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\tUpdateProperties();\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tthrow new ArgumentOutOfRangeException(nameof(style), style, null);\n\t\t\t}\n\t\t}\n\n\t\tprivate void UpdateProperties()\n\t\t{\n\t\t\tInvalidate();\n\t\t}\n\n\t\t#endregion Theme Changing\n\n\t\t#region Properties\n\n\t\t/// <summary>\n\t\t/// Gets or sets ForeColor used by the control\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the form forecolor.\")]\n\t\tpublic override Color ForeColor { get; set; }\n\n\t\t/// <summary>\n\t\t/// Gets or sets the form BackColor.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the form backcolor.\")]\n\t\tpublic override Color BackColor { get; set; }\n\n\t\tprivate bool _isDerivedStyle = true;\n\n\t\t/// <summary>\n\t\t/// Gets or sets the whether this control reflect to parent form style.\n\t\t/// Set it to false if you want the style of this control be independent. \n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\t[Description(\"Gets or sets the whether this control reflect to parent(s) style. \\n \" +\n\t\t\t\t\t \"Set it to false if you want the style of this control be independent. \")]\n\t\tpublic bool IsDerivedStyle\n\t\t{\n\t\t\tget { return _isDerivedStyle; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_isDerivedStyle = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\t\t#endregion Properties\n\n\t}\n}"
  },
  {
    "path": "MetroSet UI/Controls/MetroSetLink.cs",
    "content": "﻿/*\n* MetroSet UI - MetroSet UI Framework\n* \n* The MIT License (MIT)\n* Copyright (c) 2017 Narwin, https://github.com/N-a-r-w-i-n\n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of \n* this software and associated documentation files (the \"Software\"), to deal in the \n* Software without restriction, including without limitation the rights to use, copy, \n* modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, \n* and to permit persons to whom the Software is furnished to do so, subject to the \n* following conditions:\n* \n* The above copyright notice and this permission notice shall be included in \n* all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, \n* INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A \n* PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT \n* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF \n* CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE \n* OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n*/\n\nusing System;\nusing System.ComponentModel;\nusing System.Drawing;\nusing System.Runtime.InteropServices;\nusing System.Windows.Forms;\nusing MetroSet_UI.Components;\nusing MetroSet_UI.Design;\nusing MetroSet_UI.Enums;\nusing MetroSet_UI.Extensions;\nusing MetroSet_UI.Interfaces;\n\nnamespace MetroSet_UI.Controls\n{\n\t[ToolboxItem(true)]\n\t[ToolboxBitmap(typeof(MetroSetLink), \"Bitmaps.LinkLabel.bmp\")]\n\t[Designer(typeof(MetroSetLinkDesigner))]\n\t[DefaultProperty(\"Text\")]\n\t[ComVisible(true)]\n\tpublic class MetroSetLink : LinkLabel, IMetroSetControl\n\t{\n\t\t#region Interfaces\n\n\t\t/// <summary>\n\t\t/// Gets or sets the style associated with the control.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the style associated with the control.\")]\n\t\tpublic Style Style\n\t\t{\n\t\t\tget => StyleManager?.Style ?? _style;\n\t\t\tset\n\t\t\t{\n\t\t\t\t_style = value;\n\t\t\t\tswitch (value)\n\t\t\t\t{\n\t\t\t\t\tcase Style.Light:\n\t\t\t\t\t\tApplyTheme();\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase Style.Dark:\n\t\t\t\t\t\tApplyTheme(Style.Dark);\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase Style.Custom:\n\t\t\t\t\t\tApplyTheme(Style.Custom);\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tApplyTheme();\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tInvalidate();\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets the Style Manager associated with the control.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the Style Manager associated with the control.\")]\n\t\tpublic StyleManager StyleManager\n\t\t{\n\t\t\tget => _styleManager;\n\t\t\tset { _styleManager = value; Invalidate(); }\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets the The Author name associated with the theme.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the The Author name associated with the theme.\")]\n\t\tpublic string ThemeAuthor { get; set; }\n\n\t\t/// <summary>\n\t\t/// Gets or sets the The Theme name associated with the theme.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the The Theme name associated with the theme.\")]\n\t\tpublic string ThemeName { get; set; }\n\n\t\t#endregion Interfaces\n\n\t\t#region Global Vars\n\n\t\tprivate readonly Utilites _utl;\n\n\t\t#endregion Global Vars\n\n\t\t#region Internal Vars\n\n\t\tprivate Style _style;\n\t\tprivate StyleManager _styleManager;\n\n\t\t#endregion Internal Vars\n\n\t\t#region Constructors\n\n\t\tpublic MetroSetLink()\n\t\t{\n\t\t\tSetStyle(\n\t\t\t\tControlStyles.ResizeRedraw |\n\t\t\t\tControlStyles.OptimizedDoubleBuffer |\n\t\t\t\tControlStyles.SupportsTransparentBackColor, true\n\t\t\t\t);\n\t\t\tUpdateStyles();\n\t\t\tbase.Font = MetroSetFonts.Light(10);\n\t\t\tbase.Cursor = Cursors.Hand;\n\t\t\t_utl = new Utilites();\n\t\t\t_style = Style.Dark;\n\t\t\tApplyTheme();\n\t\t\tLinkBehavior = LinkBehavior.HoverUnderline;\n\t\t}\n\n\t\t#endregion Constructors\n\n\t\t#region ApplyTheme\n\n\t\t/// <summary>\n\t\t/// Gets or sets the style provided by the user.\n\t\t/// </summary>\n\t\t/// <param name=\"style\">The Style.</param>\n\t\tprivate void ApplyTheme(Style style = Style.Light)\n\t\t{\n\t\t\tif (!IsDerivedStyle)\n\t\t\t\treturn;\n\n\t\t\tswitch (style)\n\t\t\t{\n\t\t\t\tcase Style.Light:\n\t\t\t\t\tForeColor = Color.Black;\n\t\t\t\t\tBackColor = Color.Transparent;\n\t\t\t\t\tActiveLinkColor = Color.FromArgb(85, 197, 245);\n\t\t\t\t\tLinkColor = Color.FromArgb(65, 177, 225);\n\t\t\t\t\tVisitedLinkColor = Color.FromArgb(45, 157, 205);\n\t\t\t\t\tThemeAuthor = \"Narwin\";\n\t\t\t\t\tThemeName = \"MetroLite\";\n\t\t\t\t\tUpdateProperties();\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase Style.Dark:\n\t\t\t\t\tForeColor = Color.FromArgb(170, 170, 170);\n\t\t\t\t\tBackColor = Color.Transparent;\n\t\t\t\t\tActiveLinkColor = Color.FromArgb(85, 197, 245);\n\t\t\t\t\tLinkColor = Color.FromArgb(65, 177, 225);\n\t\t\t\t\tVisitedLinkColor = Color.FromArgb(45, 157, 205);\n\t\t\t\t\tThemeAuthor = \"Narwin\";\n\t\t\t\t\tThemeName = \"MetroDark\";\n\t\t\t\t\tUpdateProperties();\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase Style.Custom:\n\t\t\t\t\tif (StyleManager != null)\n\t\t\t\t\t\tforeach (var varkey in StyleManager.LinkLabelDictionary)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tswitch (varkey.Key)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tcase \"ForeColor\":\n\t\t\t\t\t\t\t\t\tForeColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tcase \"BackColor\":\n\t\t\t\t\t\t\t\t\tBackColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tcase \"LinkColor\":\n\t\t\t\t\t\t\t\t\tLinkColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tcase \"ActiveLinkColor\":\n\t\t\t\t\t\t\t\t\tActiveLinkColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tcase \"VisitedLinkColor\":\n\t\t\t\t\t\t\t\t\tVisitedLinkColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tcase \"LinkBehavior\":\n\t\t\t\t\t\t\t\t\tswitch ((string)varkey.Value)\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tcase \"HoverUnderline\":\n\t\t\t\t\t\t\t\t\t\t\tLinkBehavior = LinkBehavior.HoverUnderline;\n\t\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\t\tcase \"AlwaysUnderline\":\n\t\t\t\t\t\t\t\t\t\t\tLinkBehavior = LinkBehavior.AlwaysUnderline;\n\t\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\t\tcase \"NeverUnderline\":\n\t\t\t\t\t\t\t\t\t\t\tLinkBehavior = LinkBehavior.NeverUnderline;\n\t\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\t\tcase \"SystemDefault\":\n\t\t\t\t\t\t\t\t\t\t\tLinkBehavior = LinkBehavior.SystemDefault;\n\t\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\tUpdateProperties();\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tthrow new ArgumentOutOfRangeException(nameof(style), style, null);\n\t\t\t}\n\t\t}\n\n\t\tprivate void UpdateProperties()\n\t\t{\n\t\t\tInvalidate();\n\t\t}\n\n\t\t#endregion ApplyTheme\n\n\t\t#region Events\n\n\t\t/// <summary>\n\t\t/// Here we set the smooth mouse hand.\n\t\t/// </summary>\n\t\t/// <param name=\"m\"></param>\n\t\tprotected override void WndProc(ref Message m)\n\t\t{\n\t\t\t_utl.SmoothCursor(ref m);\n\n\t\t\tbase.WndProc(ref m);\n\t\t}\n\n\t\t#endregion\n\n\t\t#region Properties\n\n\t\t/// <summary>\n\t\t/// Gets or sets ForeColor used by the control\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the form forecolor.\")]\n\t\tpublic override Color ForeColor { get; set; } = Color.Black;\n\n\t\t/// <summary>\n\t\t/// Gets or sets the form BackColor.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the form backcolor.\")]\n\t\tpublic override Color BackColor { get; set; } = Color.Transparent;\n\n\t\t/// <summary>\n\t\t/// Gets or sets LinkColor used by the control\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets LinkColor used by the control.\")]\n\t\tpublic new Color LinkColor { get; set; } = Color.FromArgb(65, 177, 225);\n\n\t\t/// <summary>\n\t\t/// Gets or sets ActiveLinkColor used by the control\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets ActiveLinkColor used by the control.\")]\n\t\tpublic new Color ActiveLinkColor { get; set; } = Color.FromArgb(85, 197, 245);\n\n\t\t/// <summary>\n\t\t/// Gets or sets VisitedLinkColor used by the control\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets VisitedLinkColor used by the control.\")]\n\t\tpublic new Color VisitedLinkColor { get; set; } = Color.FromArgb(45, 157, 205);\n\n\t\t/// <summary>\n\t\t/// Gets or sets LinkBehavior used by the control\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets LinkBehavior used by the control.\")]\n\t\tpublic new LinkBehavior LinkBehavior { get; set; }\n\n\t\t/// <summary>\n\t\t/// Gets or sets DisabledLinkColor used by the control\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets DisabledLinkColor used by the control.\")]\n\t\tpublic new Color DisabledLinkColor { get; set; } = Color.FromArgb(133, 133, 133);\n\n\t\tprivate bool _isDerivedStyle = true;\n\n\t\t/// <summary>\n\t\t/// Gets or sets the whether this control reflect to parent form style.\n\t\t/// Set it to false if you want the style of this control be independent. \n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\t[Description(\"Gets or sets the whether this control reflect to parent(s) style. \\n \" +\n\t\t\t\t\t \"Set it to false if you want the style of this control be independent. \")]\n\t\tpublic bool IsDerivedStyle\n\t\t{\n\t\t\tget { return _isDerivedStyle; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_isDerivedStyle = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\t\t#endregion Properties\n\n\t}\n}"
  },
  {
    "path": "MetroSet UI/Controls/MetroSetListBox.cs",
    "content": "﻿/*\n* MetroSet UI - MetroSet UI Framework\n*\n* The MIT License (MIT)\n* Copyright (c) 2017 Narwin, https://github.com/N-a-r-w-i-n\n*\n* Permission is hereby granted, free of charge, to any person obtaining a copy of\n* this software and associated documentation files (the \"Software\"), to deal in the\n* Software without restriction, including without limitation the rights to use, copy,\n* modify, merge, publish, distribute, sublicense, and/or sell copies of the Software,\n* and to permit persons to whom the Software is furnished to do so, subject to the\n* following conditions:\n*\n* The above copyright notice and this permission notice shall be included in\n* all copies or substantial portions of the Software.\n*\n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,\n* INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A\n* PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\n* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF\n* CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE\n* OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n*/\n\nusing System;\nusing System.Collections.Generic;\nusing System.ComponentModel;\nusing System.Drawing;\nusing System.Runtime.InteropServices;\nusing System.Windows.Forms;\nusing MetroSet_UI.Child;\nusing MetroSet_UI.Components;\nusing MetroSet_UI.Design;\nusing MetroSet_UI.Enums;\nusing MetroSet_UI.Extensions;\nusing MetroSet_UI.Interfaces;\nusing MetroSet_UI.Native;\n\nnamespace MetroSet_UI.Controls\n{\n\t[ToolboxItem(true)]\n\t[ToolboxBitmap(typeof(MetroSetListBox), \"Bitmaps.ListBox.bmp\")]\n\t[Designer(typeof(MetroSetListBoxDesigner))]\n\t[DefaultProperty(\"Items\")]\n\t[DefaultEvent(\"SelectedIndexChanged\")]\n\t[ComVisible(true)]\n\tpublic class MetroSetListBox : Control, IMetroSetControl\n\t{\n\n\t\t#region Interfaces\n\n\t\t/// <summary>\n\t\t/// Gets or sets the style associated with the control.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the style associated with the control.\")]\n\t\tpublic Style Style\n\t\t{\n\t\t\tget => StyleManager?.Style ?? _style;\n\t\t\tset\n\t\t\t{\n\t\t\t\t_style = value;\n\t\t\t\tswitch (value)\n\t\t\t\t{\n\t\t\t\t\tcase Style.Light:\n\t\t\t\t\t\tApplyTheme();\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase Style.Dark:\n\t\t\t\t\t\tApplyTheme(Style.Dark);\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase Style.Custom:\n\t\t\t\t\t\tApplyTheme(Style.Custom);\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tApplyTheme();\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\t_svs.Style = value;\n\t\t\t\tInvalidate();\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets the Style Manager associated with the control.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the Style Manager associated with the control.\")]\n\t\tpublic StyleManager StyleManager\n\t\t{\n\t\t\tget => _styleManager;\n\t\t\tset\n\t\t\t{\n\t\t\t\t_styleManager = value;\n\t\t\t\tInvalidate();\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets the The Author name associated with the theme.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the The Author name associated with the theme.\")]\n\t\tpublic string ThemeAuthor { get; set; }\n\n\t\t/// <summary>\n\t\t/// Gets or sets the The Theme name associated with the theme.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the The Theme name associated with the theme.\")]\n\t\tpublic string ThemeName { get; set; }\n\n\t\t#endregion Interfaces\n\n\t\t#region Global Vars\n\n\t\tprivate readonly Utilites _utl;\n\n\t\t#endregion Global Vars\n\n\t\t#region Internal Vars\n\n\t\tprivate Style _style;\n\t\tprivate StyleManager _styleManager;\n\t\tprivate MetroSetItemCollection _items;\n\t\tprivate List<object> _selectedItems;\n\t\tprivate List<object> _indicates;\n\t\tprivate bool _multiSelect;\n\t\tprivate int _selectedIndex;\n\t\tprivate object _selectedItem;\n\t\tprivate string _selectedText;\n\t\tprivate bool _showScrollBar;\n\t\tprivate bool _multiKeyDown;\n\t\tprivate int _hoveredItem;\n\t\tprivate MetroSetScrollBar _svs;\n\t\tprivate object _selectedValue;\n\n\t\tprivate int _itemHeight;\n\t\tprivate bool _showBorder;\n\t\tprivate Color _selectedItemColor;\n\t\tprivate Color _selectedItemBackColor;\n\t\tprivate Color _hoveredItemColor;\n\t\tprivate Color _hoveredItemBackColor;\n\t\tprivate Color _disabledForeColor;\n\t\tprivate Color _disabledBackColor;\n\t\tprivate Color _borderColor;\n\n\t\t#endregion Internal Vars\n\n\t\t#region Constructors\n\n\t\tpublic MetroSetListBox()\n\t\t{\n\t\t\tSetStyle(\n\t\t\t\tControlStyles.UserPaint |\n\t\t\t\tControlStyles.AllPaintingInWmPaint |\n\t\t\t\tControlStyles.Selectable |\n\t\t\t\tControlStyles.ResizeRedraw |\n\t\t\t\tControlStyles.OptimizedDoubleBuffer |\n\t\t\t\tControlStyles.SupportsTransparentBackColor, true);\n\t\t\tUpdateStyles();\n\t\t\tbase.BackColor = Color.Transparent;\n\t\t\tbase.Font = MetroSetFonts.Light(10);\n\t\t\t_utl = new Utilites();\n\t\t\tApplyTheme();\n\t\t\tSetDefaults();\n\t\t}\n\n\t\tprivate void SetDefaults()\n\t\t{\n\t\t\tSelectedIndex = -1;\n\t\t\t_hoveredItem = -1;\n\t\t\t_showScrollBar = false;\n\t\t\t_items = new MetroSetItemCollection();\n\t\t\t_items.ItemUpdated += InvalidateScroll;\n\t\t\t_selectedItems = new List<object>();\n\t\t\t_indicates = new List<object>();\n\t\t\tItemHeight = 30;\n\t\t\t_multiKeyDown = false;\n\t\t\t_svs = new MetroSetScrollBar()\n\t\t\t{\n\t\t\t\tOrientation = ScrollOrientate.Vertical,\n\t\t\t\tSize = new Size(12, Height),\n\t\t\t\tMaximum = _items.Count * ItemHeight,\n\t\t\t\tSmallChange = 1,\n\t\t\t\tLargeChange = 5\n\t\t\t};\n\t\t\t_svs.Scroll += HandleScroll;\n\t\t\t_svs.MouseDown += VS_MouseDown;\n\t\t\t_svs.BackColor = Color.Transparent;\n\t\t\tif (!Controls.Contains(_svs))\n\t\t\t{\n\t\t\t\tControls.Add(_svs);\n\t\t\t}\n\t\t}\n\n\t\t#endregion Constructors\n\n\t\t#region ApplyTheme\n\n\t\t/// <summary>\n\t\t/// Gets or sets the style provided by the user.\n\t\t/// </summary>\n\t\t/// <param name=\"style\">The Style.</param>\n\t\tprivate void ApplyTheme(Style style = Style.Light)\n\t\t{\n\t\t\tif (!IsDerivedStyle)\n\t\t\t\treturn;\n\n\t\t\tswitch (style)\n\t\t\t{\n\t\t\t\tcase Style.Light:\n\t\t\t\t\tForeColor = Color.Black;\n\t\t\t\t\tBackColor = Color.White;\n\t\t\t\t\tSelectedItemBackColor = Color.FromArgb(65, 177, 225);\n\t\t\t\t\tSelectedItemColor = Color.White;\n\t\t\t\t\tHoveredItemColor = Color.DimGray;\n\t\t\t\t\tHoveredItemBackColor = Color.LightGray;\n\t\t\t\t\tDisabledBackColor = Color.FromArgb(204, 204, 204);\n\t\t\t\t\tDisabledForeColor = Color.FromArgb(136, 136, 136);\n\t\t\t\t\tBorderColor = Color.LightGray;\n\t\t\t\t\tThemeAuthor = \"Narwin\";\n\t\t\t\t\tThemeName = \"MetroLite\";\n\t\t\t\t\tUpdateProperties();\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase Style.Dark:\n\t\t\t\t\tForeColor = Color.FromArgb(170, 170, 170);\n\t\t\t\t\tBackColor = Color.FromArgb(30, 30, 30);\n\t\t\t\t\tSelectedItemBackColor = Color.FromArgb(65, 177, 225);\n\t\t\t\t\tSelectedItemColor = Color.White;\n\t\t\t\t\tHoveredItemColor = Color.DimGray;\n\t\t\t\t\tHoveredItemBackColor = Color.LightGray;\n\t\t\t\t\tDisabledBackColor = Color.FromArgb(80, 80, 80);\n\t\t\t\t\tDisabledForeColor = Color.FromArgb(109, 109, 109);\n\t\t\t\t\tBorderColor = Color.FromArgb(64, 64, 64);\n\t\t\t\t\tThemeAuthor = \"Narwin\";\n\t\t\t\t\tThemeName = \"MetroDark\";\n\t\t\t\t\tUpdateProperties();\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase Style.Custom:\n\t\t\t\t\tif (StyleManager != null)\n\t\t\t\t\t\tforeach (var varkey in StyleManager.ListBoxDictionary)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tswitch (varkey.Key)\n\t\t\t\t\t\t\t{\n\n\t\t\t\t\t\t\t\tcase \"ForeColor\":\n\t\t\t\t\t\t\t\t\tForeColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tcase \"BackColor\":\n\t\t\t\t\t\t\t\t\tBackColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tcase \"DisabledBackColor\":\n\t\t\t\t\t\t\t\t\tDisabledBackColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tcase \"DisabledForeColor\":\n\t\t\t\t\t\t\t\t\tDisabledForeColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tcase \"HoveredItemBackColor\":\n\t\t\t\t\t\t\t\t\tHoveredItemBackColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tcase \"HoveredItemColor\":\n\t\t\t\t\t\t\t\t\tHoveredItemColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tcase \"SelectedItemBackColor\":\n\t\t\t\t\t\t\t\t\tSelectedItemBackColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tcase \"SelectedItemColor\":\n\t\t\t\t\t\t\t\t\tSelectedItemColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tcase \"BorderColor\":\n\t\t\t\t\t\t\t\t\tBorderColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\tUpdateProperties();\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tthrow new ArgumentOutOfRangeException(nameof(style), style, null);\n\t\t\t}\n\t\t}\n\n\t\tprivate void UpdateProperties()\n\t\t{\n\t\t\tInvalidate();\n\t\t}\n\n\t\t#endregion ApplyTheme\n\n\t\t#region Draw Control\n\n\t\tprotected override void OnPaint(PaintEventArgs e)\n\t\t{\n\t\t\tvar g = e.Graphics;\n\t\t\tg.TextRenderingHint = System.Drawing.Text.TextRenderingHint.ClearTypeGridFit;\n\t\t\tvar mainRect = new Rectangle(0, 0, Width - (ShowBorder ? 1 : 0), Height - (ShowBorder ? 1 : 0));\n\n\t\t\tusing (var bg = new SolidBrush(Enabled ? BackColor : DisabledBackColor))\n\t\t\t{\n\t\t\t\tusing (var usic = new SolidBrush(Enabled ? ForeColor : DisabledForeColor))\n\t\t\t\t{\n\t\t\t\t\tusing (var sic = new SolidBrush(SelectedItemColor))\n\t\t\t\t\t{\n\t\t\t\t\t\tusing (var sibc = new SolidBrush(SelectedItemBackColor))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tusing (var hic = new SolidBrush(HoveredItemColor))\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tusing (var hibc = new SolidBrush(HoveredItemBackColor))\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tusing (var sf = new StringFormat { Alignment = StringAlignment.Near, LineAlignment = StringAlignment.Center })\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tvar firstItem = _svs.Value / ItemHeight < 0 ? 0 : _svs.Value / ItemHeight;\n\t\t\t\t\t\t\t\t\t\tvar lastItem = _svs.Value / ItemHeight + Height / ItemHeight + 1 > Items.Count ? Items.Count : _svs.Value / ItemHeight + Height / ItemHeight + 1;\n\n\t\t\t\t\t\t\t\t\t\tg.FillRectangle(bg, mainRect);\n\n\t\t\t\t\t\t\t\t\t\tfor (var i = firstItem; i < lastItem; i++)\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tvar itemText = (string)Items[i];\n\n\t\t\t\t\t\t\t\t\t\t\tvar rect = new Rectangle(5, (i - firstItem) * ItemHeight, Width - 1, ItemHeight);\n\t\t\t\t\t\t\t\t\t\t\tg.DrawString(itemText, Font, usic, rect, sf);\n\t\t\t\t\t\t\t\t\t\t\tif (MultiSelect && _indicates.Count != 0)\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tif (i == _hoveredItem && !_indicates.Contains(i))\n\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\tg.FillRectangle(hibc, rect);\n\t\t\t\t\t\t\t\t\t\t\t\t\tg.DrawString(itemText, Font, hic, rect, sf);\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\telse if (_indicates.Contains(i))\n\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\tg.FillRectangle(sibc, rect);\n\t\t\t\t\t\t\t\t\t\t\t\t\tg.DrawString(itemText, Font, sic, rect, sf);\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tif (i == _hoveredItem && i != SelectedIndex)\n\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\tg.FillRectangle(hibc, rect);\n\t\t\t\t\t\t\t\t\t\t\t\t\tg.DrawString(itemText, Font, hic, rect, sf);\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\telse if (i == SelectedIndex)\n\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\tg.FillRectangle(sibc, rect);\n\t\t\t\t\t\t\t\t\t\t\t\t\tg.DrawString(itemText, Font, sic, rect, sf);\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tif (ShowBorder)\n\t\t\t\t\t\t\t\t\t\t\tg.DrawRectangle(Pens.LightGray, mainRect);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t#endregion Draw Control\n\n\t\t#region Properties\n\n\t\t/// <summary>\n\t\t/// Gets the items of the ListBox.\n\t\t/// </summary>\n\t\t[TypeConverter(typeof(CollectionConverter))]\n\t\t[DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]\n\t\t[Editor(\"System.Windows.Forms.Design.StringCollectionEditor, System.Design\", \"System.Drawing.Design.UITypeEditor, System.Drawing\")]\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets the items of the ListBox.\")]\n\t\tpublic MetroSetItemCollection Items => _items;\n\n\t\t/// <summary>\n\t\t/// Gets a collection containing the currently selected items in the ListBox.\n\t\t/// </summary>\n\t\t[Browsable(false)]\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets a collection containing the currently selected items in the ListBox.\")]\n\t\tpublic List<object> SelectedItems => _selectedItems;\n\n\t\t/// <summary>\n\t\t/// Gets or sets the height of an item in the ListBox.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the height of an item in the ListBox.\")]\n\t\tpublic int ItemHeight\n\t\t{\n\t\t\tget { return _itemHeight; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_itemHeight = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets the currently selected item in the ListBox.\n\t\t/// </summary>\n\t\t[Browsable(false), Category(\"MetroSet Framework\"), Description(\"Gets or sets the currently selected item in the ListBox.\")]\n\t\tpublic object SelectedItem\n\t\t{\n\t\t\tget => _selectedItem;\n\t\t\tset\n\t\t\t{\n\t\t\t\t_selectedItem = value;\n\t\t\t\tInvalidate();\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets the currently selected item in the ListBox.\n\t\t/// </summary>\n\t\t[Browsable(false), Category(\"MetroSet Framework\"),\n\t\t Description(\"Gets or sets the currently selected Text in the ListBox.\")]\n\t\tpublic string SelectedText\n\t\t{\n\t\t\tget => _selectedText;\n\t\t\tset\n\t\t\t{\n\t\t\t\t_selectedText = value;\n\t\t\t\tInvalidate();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets the zero-based index of the currently selected item in a ListBox.\n\t\t/// </summary>\n\t\t[Browsable(false), Category(\"MetroSet Framework\"), Description(\"Gets or sets the zero-based index of the currently selected item in a ListBox.\")]\n\t\tpublic int SelectedIndex\n\t\t{\n\t\t\tget => _selectedIndex;\n\t\t\tset\n\t\t\t{\n\t\t\t\t_selectedIndex = value;\n\t\t\t\tInvalidate();\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets the value of the member property specified by the ValueMember propert.\n\t\t/// </summary>\n\t\t[Browsable(true), Category(\"MetroSet Framework\"), Description(\"Gets or sets the value of the member property specified by the ValueMember property.\")]\n\t\tpublic object SelectedValue\n\t\t{\n\t\t\tget => _selectedValue;\n\t\t\tset\n\t\t\t{\n\t\t\t\t_selectedValue = value;\n\t\t\t\tInvalidate();\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets a value indicating whether the ListBox supports multiple rows.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets a value indicating whether the ListBox supports multiple rows.\")]\n\t\tpublic bool MultiSelect\n\t\t{\n\t\t\tget => _multiSelect;\n\t\t\tset\n\t\t\t{\n\t\t\t\t_multiSelect = value;\n\n\t\t\t\tif (_selectedItems.Count > 1)\n\t\t\t\t\t_selectedItems.RemoveRange(1, _selectedItems.Count - 1);\n\n\t\t\t\tInvalidate();\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets the the number of items stored in items collection.\n\t\t/// </summary>\n\t\t[Browsable(false)]\n\t\tpublic int Count => _items.Count;\n\n\t\t/// <summary>\n\t\t/// Gets or sets a value indicating whether the vertical scroll bar is shown or not.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets a value indicating whether the vertical scroll bar be shown or not.\")]\n\t\tpublic bool ShowScrollBar\n\t\t{\n\t\t\tget => _showScrollBar;\n\t\t\tset\n\t\t\t{\n\t\t\t\t_showScrollBar = value;\n\t\t\t\t_svs.Visible = value;\n\t\t\t\tInvalidate();\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets a value indicating whether the border shown or not.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets a value indicating whether the border shown or not.\")]\n\t\tpublic bool ShowBorder\n\t\t{\n\t\t\tget { return _showBorder; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_showBorder = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets BackColor used by the control\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets backcolor used by the control.\")]\n\t\tpublic override Color BackColor { get; set; }\n\n\t\t/// <summary>\n\t\t/// Gets or sets ForeColor used by the control\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets forecolor used by the control.\")]\n\t\tpublic override Color ForeColor { get; set; }\n\n\t\t[Browsable(false)]\n\t\t[EditorBrowsable(EditorBrowsableState.Never)]\n\t\tpublic override string Text { get => base.Text; set => base.Text = value; }\n\n\t\t/// <summary>\n\t\t/// Gets or sets selected item used by the control\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets selected item used by the control.\")]\n\t\tpublic Color SelectedItemColor\n\t\t{\n\t\t\tget { return _selectedItemColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_selectedItemColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets selected item backcolor used by the control\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets selected item backcolor used by the control.\")]\n\t\tpublic Color SelectedItemBackColor\n\t\t{\n\t\t\tget { return _selectedItemBackColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_selectedItemBackColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets hovered item used by the control\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets hovered item used by the control.\")]\n\t\tpublic Color HoveredItemColor\n\t\t{\n\t\t\tget { return _hoveredItemColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_hoveredItemColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets hovered item BackColor used by the control\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets hovered item backcolor used by the control.\")]\n\t\tpublic Color HoveredItemBackColor\n\t\t{\n\t\t\tget { return _hoveredItemBackColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_hoveredItemBackColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets disabled ForeColor used by the control\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets disabled forecolor used by the control.\")]\n\t\tpublic Color DisabledForeColor\n\t\t{\n\t\t\tget { return _disabledForeColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_disabledForeColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets disabled BackColor used by the control\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets disabled backcolor used by the control.\")]\n\t\tpublic Color DisabledBackColor\n\t\t{\n\t\t\tget { return _disabledBackColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_disabledBackColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets border color used by the control\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets border color used by the control.\")]\n\t\tpublic Color BorderColor\n\t\t{\n\t\t\tget { return _borderColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_borderColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\t\tprivate bool _isDerivedStyle = true;\n\n\t\t/// <summary>\n\t\t/// Gets or sets the whether this control reflect to parent form style.\n\t\t/// Set it to false if you want the style of this control be independent. \n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\t[Description(\"Gets or sets the whether this control reflect to parent(s) style. \\n \" +\n\t\t\t\t\t \"Set it to false if you want the style of this control be independent. \")]\n\t\tpublic bool IsDerivedStyle\n\t\t{\n\t\t\tget { return _isDerivedStyle; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_isDerivedStyle = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t#endregion Properties\n\n\t\t#region Methods\n\n\t\t/// <summary>\n\t\t/// Adds an item to collection.\n\t\t/// </summary>\n\t\t/// <param name=\"newItem\">The Item to be added into the collection.</param>\n\t\tpublic void AddItem(string newItem)\n\t\t{\n\t\t\t_items.Add(newItem);\n\t\t\tInvalidateScroll(this, null);\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Adds the multiply items to collection.\n\t\t/// </summary>\n\t\t/// <param name=\"newItems\">Items to be added into the collection.</param>\n\t\tpublic void AddItems(string[] newItems)\n\t\t{\n\t\t\tforeach (var str in newItems)\n\t\t\t{\n\t\t\t\tAddItem(str);\n\t\t\t}\n\t\t\tInvalidateScroll(this, null);\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Removes the element at the specified index of the collection.\n\t\t/// </summary>\n\t\t/// <param name=\"index\">The Index as the start point of removing.</param>\n\t\tpublic void RemoveItemAt(int index)\n\t\t{\n\t\t\t_items.RemoveAt(index);\n\t\t\tInvalidateScroll(this, null);\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Removes an item from collection.\n\t\t/// </summary>\n\t\t/// <param name=\"item\">The Item to remove in collection.</param>\n\t\tpublic void RemoveItem(string item)\n\t\t{\n\t\t\t_items.Remove(item);\n\t\t\tInvalidateScroll(this, null);\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets the index of the item.\n\t\t/// </summary>\n\t\t/// <param name=\"value\">The Item.</param>\n\t\t/// <returns>index of the item.</returns>\n\t\tpublic int IndexOf(string value)\n\t\t{\n\t\t\treturn _items.IndexOf(value);\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets whether the collection contains a specific item.\n\t\t/// </summary>\n\t\t/// <param name=\"item\">The Item to check whether exist in collection.</param>\n\t\t/// <returns>Whether the collection contains a specific item.</returns>\n\t\tpublic bool Contains(object item)\n\t\t{\n\t\t\treturn _items.Contains(item.ToString());\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Removes multiply items in collection.\n\t\t/// </summary>\n\t\t/// <param name=\"itemsToRemove\">Items to be removed in collection.</param>\n\t\tpublic void RemoveItems(string[] itemsToRemove)\n\t\t{\n\t\t\tforeach (var item in itemsToRemove)\n\t\t\t{\n\t\t\t\t_items.Remove(item);\n\t\t\t}\n\t\t\tInvalidateScroll(this, null);\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Clears the collection.\n\t\t/// </summary>\n\t\tpublic void Clear()\n\t\t{\n\t\t\tfor (var i = _items.Count - 1; i >= 0; i += -1)\n\t\t\t{\n\t\t\t\t_items.RemoveAt(i);\n\t\t\t}\n\t\t\tInvalidateScroll(this, null);\n\t\t}\n\n\t\t#endregion Methods\n\n\t\t#region Events\n\n\t\tpublic event SelectedIndexChangedEventHandler SelectedIndexChanged;\n\n\t\tpublic delegate void SelectedIndexChangedEventHandler(object sender);\n\n\t\tpublic event SelectedValueEventHandler SelectedValueChanged;\n\n\t\tpublic delegate void SelectedValueEventHandler(object sender);\n\n\t\t/// <summary>\n\t\t/// Here we update the scrollbar and it's properties while user resizes the ListBox.\n\t\t/// </summary>\n\t\t/// <param name=\"e\"></param>\n\t\tprotected override void OnSizeChanged(EventArgs e)\n\t\t{\n\t\t\tInvalidateScroll(this, e);\n\t\t\tInvalidateLayout();\n\t\t\tbase.OnSizeChanged(e);\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Here we will handle the selection item(s).\n\t\t/// </summary>\n\t\t/// <param name=\"e\">MouseEventArgs</param>\n\t\tprotected override void OnMouseDown(MouseEventArgs e)\n\t\t{\n\t\t\tFocus();\n\t\t\tif (e.Button == MouseButtons.Left)\n\t\t\t{\n\t\t\t\tvar index = _svs.Value / ItemHeight + e.Location.Y / ItemHeight;\n\t\t\t\tif (index >= 0 && index < _items.Count)\n\t\t\t\t{\n\t\t\t\t\tif (MultiSelect && _multiKeyDown)\n\t\t\t\t\t{\n\t\t\t\t\t\t_indicates.Add(index);\n\t\t\t\t\t\t_selectedItems.Add(Items[index]);\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\t_indicates.Clear();\n\t\t\t\t\t\t_selectedItems.Clear();\n\t\t\t\t\t\t_selectedItem = Items[index];\n\t\t\t\t\t\t_selectedIndex = index;\n\t\t\t\t\t\t_selectedValue = Items[index];\n\t\t\t\t\t\t_selectedText = Items[index].ToString();\n\t\t\t\t\t\tSelectedIndexChanged?.Invoke(this);\n\t\t\t\t\t\tSelectedValueChanged?.Invoke(this);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tInvalidate();\n\t\t\t}\n\t\t\tbase.OnMouseDown(e);\n\t\t}\n\n\t\t/// <summary>\n\t\t/// The Method to update the scrollbar.\n\t\t/// </summary>\n\t\t/// <param name=\"sender\">object</param>\n\t\tprivate void HandleScroll(object sender)\n\t\t{\n\t\t\tInvalidate();\n\t\t}\n\n\t\t/// <summary>\n\t\t/// The Method to update the Scrollbar maximum property.\n\t\t/// </summary>\n\t\t/// <param name=\"sender\"></param>\n\t\t/// <param name=\"e\">EventArgs</param>\n\t\tprivate void InvalidateScroll(object sender, EventArgs e)\n\t\t{\n\t\t\t_svs.Maximum = _items.Count * ItemHeight;\n\t\t\tInvalidate();\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Here here we put scrollbar on focus while mouse clicked.\n\t\t/// </summary>\n\t\t/// <param name=\"sender\">object</param>\n\t\t/// <param name=\"e\">MouseEventArgs</param>\n\t\tprivate void VS_MouseDown(object sender, MouseEventArgs e)\n\t\t{\n\t\t\tFocus();\n\t\t}\n\n\t\t/// <summary>\n\t\t/// The Method to update the size and location of the scrollbar.\n\t\t/// </summary>\n\t\tprivate void InvalidateLayout()\n\t\t{\n\t\t\t_svs.Size = new Size(12, Height - (ShowBorder ? 2 : 0));\n\t\t\t_svs.Location = new Point(Width - (_svs.Width + (ShowBorder ? 2 : 0)), ShowBorder ? 1 : 0);\n\t\t\tInvalidate();\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Here we handle the mouse wheel.\n\t\t/// </summary>\n\t\t/// <param name=\"e\"></param>\n\t\tprotected override void OnMouseWheel(MouseEventArgs e)\n\t\t{\n\t\t\t_svs.Value -= e.Delta / 4;\n\t\t\tbase.OnMouseWheel(e);\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets the Key that has been pressed by the user.\n\t\t/// </summary>\n\t\t/// <param name=\"keyData\"></param>\n\t\t/// <returns>The Key that has been pressed.</returns>\n\t\tprotected override bool IsInputKey(Keys keyData)\n\t\t{\n\t\t\tswitch (keyData)\n\t\t\t{\n\t\t\t\tcase Keys.Down:\n\t\t\t\t\ttry\n\t\t\t\t\t{\n\t\t\t\t\t\t_selectedItems.Remove(_items[SelectedIndex]);\n\t\t\t\t\t\tSelectedIndex += 1;\n\t\t\t\t\t\t_selectedItems.Add(_items[SelectedIndex]);\n\t\t\t\t\t}\n\t\t\t\t\tcatch\n\t\t\t\t\t{\n\t\t\t\t\t\t//\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase Keys.Up:\n\t\t\t\t\ttry\n\t\t\t\t\t{\n\t\t\t\t\t\t_selectedItems.Remove(_items[SelectedIndex]);\n\t\t\t\t\t\tSelectedIndex -= 1;\n\t\t\t\t\t\t_selectedItems.Add(_items[SelectedIndex]);\n\t\t\t\t\t}\n\t\t\t\t\tcatch\n\t\t\t\t\t{\n\t\t\t\t\t\t//\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t\tInvalidate();\n\t\t\treturn base.IsInputKey(keyData);\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Here we set the handle the hovering.\n\t\t/// </summary>\n\t\t/// <param name=\"e\">MouseEventArgs</param>\n\t\tprotected override void OnMouseMove(MouseEventArgs e)\n\t\t{\n\t\t\tbase.OnMouseMove(e);\n\t\t\tCursor = Cursors.Hand;\n\t\t\tvar index = _svs.Value / ItemHeight + e.Location.Y / ItemHeight;\n\n\t\t\tif (index >= Items.Count)\n\t\t\t\tindex = -1;\n\n\t\t\tif (index >= 0 && index < Items.Count)\n\t\t\t{\n\t\t\t\t_hoveredItem = index;\n\t\t\t}\n\t\t\tInvalidate();\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Here we release the mouse state and hovering item to avoid filckering.\n\t\t/// </summary>\n\t\t/// <param name=\"e\">EventArgs</param>\n\t\tprotected override void OnMouseLeave(EventArgs e)\n\t\t{\n\t\t\t_hoveredItem = -1;\n\t\t\tCursor = Cursors.Default;\n\t\t\tInvalidate();\n\t\t\tbase.OnMouseLeave(e);\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Here we put the scrollbar on right of the list box and also update the the thumb size of the scrollbar.\n\t\t/// </summary>\n\t\t/// <param name=\"e\">Events</param>\n\t\tprotected override void OnHandleCreated(EventArgs e)\n\t\t{\n\t\t\tbase.OnHandleCreated(e);\n\t\t\t_svs.Location = new Point(Width - (_svs.Width + (ShowBorder ? 2 : 0)), ShowBorder ? 1 : 0);\n\t\t\tInvalidateScroll(this, e);\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Here we set the smooth mouse hand.\n\t\t/// </summary>\n\t\t/// <param name=\"m\"></param>\n\t\tprotected override void WndProc(ref Message m)\n\t\t{\n\t\t\tif (m.Msg == User32.WM_SETCURSOR)\n\t\t\t{\n\t\t\t\tUser32.SetCursor(User32.LoadCursor(IntPtr.Zero, User32.IDC_HAND));\n\t\t\t\tm.Result = IntPtr.Zero;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tbase.WndProc(ref m);\n\t\t}\n\n\t\t#endregion Events\n\n\t}\n}"
  },
  {
    "path": "MetroSet UI/Controls/MetroSetNumeric.cs",
    "content": "﻿/*\n* MetroSet UI - MetroSet UI Framework\n* \n* The MIT License (MIT)\n* Copyright (c) 2017 Narwin, https://github.com/N-a-r-w-i-n\n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of \n* this software and associated documentation files (the \"Software\"), to deal in the \n* Software without restriction, including without limitation the rights to use, copy, \n* modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, \n* and to permit persons to whom the Software is furnished to do so, subject to the \n* following conditions:\n* \n* The above copyright notice and this permission notice shall be included in \n* all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, \n* INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A \n* PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT \n* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF \n* CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE \n* OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n*/\n\nusing System;\nusing System.ComponentModel;\nusing System.Drawing;\nusing System.Runtime.InteropServices;\nusing System.Windows.Forms;\nusing MetroSet_UI.Components;\nusing MetroSet_UI.Design;\nusing MetroSet_UI.Enums;\nusing MetroSet_UI.Extensions;\nusing MetroSet_UI.Interfaces;\nusing MetroSet_UI.Native;\nusing Timer = System.Timers.Timer;\n\nnamespace MetroSet_UI.Controls\n{\n\t[ToolboxItem(true)]\n\t[ToolboxBitmap(typeof(MetroSetNumeric), \"Bitmaps.Numeric.bmp\")]\n\t[Designer(typeof(MetroSetNumericDesigner))]\n\t[DefaultProperty(\"Text\")]\n\t[ComVisible(true)]\n\tpublic class MetroSetNumeric : Control, IMetroSetControl\n\t{\n\n\t\t#region Interfaces\n\n\t\t/// <summary>\n\t\t/// Gets or sets the style associated with the control.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the style associated with the control.\")]\n\t\tpublic Style Style\n\t\t{\n\t\t\tget => StyleManager?.Style ?? _style;\n\t\t\tset\n\t\t\t{\n\t\t\t\t_style = value;\n\t\t\t\tswitch (value)\n\t\t\t\t{\n\t\t\t\t\tcase Style.Light:\n\t\t\t\t\t\tApplyTheme();\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase Style.Dark:\n\t\t\t\t\t\tApplyTheme(Style.Dark);\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase Style.Custom:\n\t\t\t\t\t\tApplyTheme(Style.Custom);\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tApplyTheme();\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tInvalidate();\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets the Style Manager associated with the control.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the Style Manager associated with the control.\")]\n\t\tpublic StyleManager StyleManager\n\t\t{\n\t\t\tget => _styleManager;\n\t\t\tset { _styleManager = value; Invalidate(); }\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets the The Author name associated with the theme.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the The Author name associated with the theme.\")]\n\t\tpublic string ThemeAuthor { get; set; }\n\n\t\t/// <summary>\n\t\t/// Gets or sets the The Theme name associated with the theme.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the The Theme name associated with the theme.\")]\n\t\tpublic string ThemeName { get; set; }\n\n\t\t#endregion Interfaces\n\n\t\t#region Global Vars\n\n\t\tprivate readonly Methods _mth;\n\t\tprivate readonly Utilites _utl;\n\n\t\t#endregion Global Vars\n\n\t\t#region Internal Vars\n\n\t\tprivate Style _style;\n\t\tprivate StyleManager _styleManager;\n\t\tprivate Point _point;\n\t\tprivate int _value;\n\t\tprivate readonly Timer _holdTimer;\n\n\t\tprivate int _maximum = 100;\n\t\tprivate int _minimum;\n\t\tprivate Color _backgroundColor;\n\t\tprivate Color _disabledForeColor;\n\t\tprivate Color _disabledBackColor;\n\t\tprivate Color _disabledBorderColor;\n\t\tprivate Color _borderColor;\n\t\tprivate Color _symbolsColor;\n\n\t\t#endregion Internal Vars\n\n\t\t#region Constructors\n\n\t\tpublic MetroSetNumeric()\n\t\t{\n\t\t\tSetStyle(\n\t\t\t\tControlStyles.ResizeRedraw |\n\t\t\t\tControlStyles.OptimizedDoubleBuffer |\n\t\t\t\tControlStyles.SupportsTransparentBackColor, true);\n\t\t\tUpdateStyles();\n\t\t\tbase.Font = MetroSetFonts.SemiLight(10);\n\t\t\tBackColor = Color.Transparent;\n\t\t\t_mth = new Methods();\n\t\t\t_utl = new Utilites();\n\t\t\tApplyTheme();\n\t\t\t_point = new Point(0, 0);\n\t\t\t_holdTimer = new Timer()\n\t\t\t{\n\t\t\t\tInterval = 10,\n\t\t\t\tAutoReset = true,\n\t\t\t\tEnabled = false\n\t\t\t};\n\t\t\t_holdTimer.Elapsed += HoldTimer_Tick;\n\t\t}\n\n\n\t\t#endregion Constructors\n\n\t\t#region Draw Control\n\n\t\tprotected override void OnPaint(PaintEventArgs e)\n\t\t{\n\t\t\tvar g = e.Graphics;\n\t\t\tg.TextRenderingHint = System.Drawing.Text.TextRenderingHint.ClearTypeGridFit;\n\t\t\tvar rect = new Rectangle(0, 0, Width - 1, Height - 1);\n\n\t\t\tconst char plus = '+';\n\t\t\tconst char minus = '-';\n\n\t\t\tusing (var bg = new SolidBrush(Enabled ? BackColor : DisabledBackColor))\n\t\t\t{\n\t\t\t\tusing (var p = new Pen(Enabled ? BorderColor : DisabledBorderColor))\n\t\t\t\t{\n\t\t\t\t\tusing (var s = new SolidBrush(Enabled ? SymbolsColor : DisabledForeColor))\n\t\t\t\t\t{\n\t\t\t\t\t\tusing (var tb = new SolidBrush(Enabled ? ForeColor : DisabledForeColor))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tusing (var f2 = MetroSetFonts.SemiBold(18))\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tusing (var sf = new StringFormat { LineAlignment = StringAlignment.Center })\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tg.FillRectangle(bg, rect);\n\t\t\t\t\t\t\t\t\tg.DrawString(plus.ToString(), f2, s, new Rectangle(Width - 45, 1, 25, Height - 1), sf);\n\t\t\t\t\t\t\t\t\tg.DrawString(minus.ToString(), f2, s, new Rectangle(Width - 25, -1, 20, Height - 1), sf);\n\t\t\t\t\t\t\t\t\tg.DrawString(Value.ToString(), Font, tb, new Rectangle(0, 0, Width - 50, Height - 1), _mth.SetPosition(StringAlignment.Far));\n\t\t\t\t\t\t\t\t\tg.DrawRectangle(p, rect);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t}\n\n\t\t#endregion\n\n\t\t#region ApplyTheme\n\n\t\t/// <summary>\n\t\t/// Gets or sets the style provided by the user.\n\t\t/// </summary>\n\t\t/// <param name=\"style\">The Style.</param>\n\t\tprivate void ApplyTheme(Style style = Style.Light)\n\t\t{\n\t\t\tif (!IsDerivedStyle)\n\t\t\t\treturn;\n\n\t\t\tswitch (style)\n\t\t\t{\n\t\t\t\tcase Style.Light:\n\t\t\t\t\tForeColor = Color.FromArgb(20, 20, 20);\n\t\t\t\t\tBackColor = Color.White;\n\t\t\t\t\tBorderColor = Color.FromArgb(150, 150, 150);\n\t\t\t\t\tSymbolsColor = Color.FromArgb(128, 128, 128);\n\t\t\t\t\tDisabledBackColor = Color.FromArgb(204, 204, 204);\n\t\t\t\t\tDisabledBorderColor = Color.FromArgb(155, 155, 155);\n\t\t\t\t\tDisabledForeColor = Color.FromArgb(136, 136, 136);\n\t\t\t\t\tThemeAuthor = \"Narwin\";\n\t\t\t\t\tThemeName = \"MetroLite\";\n\t\t\t\t\tUpdateProperties();\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase Style.Dark:\n\t\t\t\t\tForeColor = Color.FromArgb(204, 204, 204);\n\t\t\t\t\tBackColor = Color.FromArgb(34, 34, 34);\n\t\t\t\t\tBorderColor = Color.FromArgb(110, 110, 110);\n\t\t\t\t\tSymbolsColor = Color.FromArgb(110, 110, 110);\n\t\t\t\t\tDisabledBackColor = Color.FromArgb(80, 80, 80);\n\t\t\t\t\tDisabledBorderColor = Color.FromArgb(109, 109, 109);\n\t\t\t\t\tDisabledForeColor = Color.FromArgb(109, 109, 109);\n\t\t\t\t\tThemeAuthor = \"Narwin\";\n\t\t\t\t\tThemeName = \"MetroDark\";\n\t\t\t\t\tUpdateProperties();\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase Style.Custom:\n\t\t\t\t\tif (StyleManager != null)\n\t\t\t\t\t\tforeach (var varkey in StyleManager.NumericDictionary)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tswitch (varkey.Key)\n\t\t\t\t\t\t\t{\n\n\t\t\t\t\t\t\t\tcase \"ForeColor\":\n\t\t\t\t\t\t\t\t\tForeColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tcase \"BackColor\":\n\t\t\t\t\t\t\t\t\tBackColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tcase \"BorderColor\":\n\t\t\t\t\t\t\t\t\tBorderColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tcase \"SymbolsColor\":\n\t\t\t\t\t\t\t\t\tSymbolsColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tcase \"DisabledBackColor\":\n\t\t\t\t\t\t\t\t\tDisabledBackColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tcase \"DisabledBorderColor\":\n\t\t\t\t\t\t\t\t\tDisabledBorderColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tcase \"DisabledForeColor\":\n\t\t\t\t\t\t\t\t\tDisabledForeColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\tUpdateProperties();\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tthrow new ArgumentOutOfRangeException(nameof(style), style, null);\n\t\t\t}\n\t\t}\n\n\t\tprivate void UpdateProperties()\n\t\t{\n\t\t\tInvalidate();\n\t\t}\n\n\t\t#endregion Theme Changing\n\n\t\t#region Properties\n\n\t\t/// <summary>\n\t\t/// Gets or sets the maximum number of the Numeric.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the maximum number of the Numeric.\")]\n\t\tpublic int Maximum\n\t\t{\n\t\t\tget { return _maximum; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_maximum = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets the minimum number of the Numeric.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the minimum number of the Numeric.\")]\n\t\tpublic int Minimum\n\t\t{\n\t\t\tget { return _minimum; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_minimum = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets the current number of the Numeric.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the current number of the Numeric.\")]\n\t\tpublic int Value\n\t\t{\n\t\t\tget => _value;\n\t\t\tset\n\t\t\t{\n\t\t\t\tif (value <= Maximum & value >= Minimum)\n\t\t\t\t\t_value = value;\n\t\t\t\tInvalidate();\n\t\t\t}\n\t\t}\n\n\t\t[Browsable(false)]\n\t\tpublic sealed override Color BackColor => Color.Transparent;\n\n\t\t/// <summary>\n\t\t/// Gets or sets the control backcolor.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the control backcolor.\")]\n\t\t[DisplayName(\"BackColor\")]\n\t\tpublic Color BackgroundColor\n\t\t{\n\t\t\tget { return _backgroundColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_backgroundColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets the forecolor of the control whenever while disabled\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the forecolor of the control whenever while disabled.\")]\n\t\tpublic Color DisabledForeColor\n\t\t{\n\t\t\tget { return _disabledForeColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_disabledForeColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets disabled backcolor used by the control\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets disabled backcolor used by the control.\")]\n\t\tpublic Color DisabledBackColor\n\t\t{\n\t\t\tget { return _disabledBackColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_disabledBackColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets the border color while the control disabled.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the border color while the control disabled.\")]\n\t\tpublic Color DisabledBorderColor\n\t\t{\n\t\t\tget { return _disabledBorderColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_disabledBorderColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets the border color.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the border color.\")]\n\t\tpublic Color BorderColor\n\t\t{\n\t\t\tget { return _borderColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_borderColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets ForeColor used by the control\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets forecolor used by the control.\")]\n\t\tpublic override Color ForeColor { get; set; }\n\n\t\t/// <summary>\n\t\t/// Gets or sets arrow color used by the control\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets arrow color used by the control.\")]\n\t\tpublic Color SymbolsColor\n\t\t{\n\t\t\tget { return _symbolsColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_symbolsColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\t\tprivate bool _isDerivedStyle = true;\n\n\t\t/// <summary>\n\t\t/// Gets or sets the whether this control reflect to parent form style.\n\t\t/// Set it to false if you want the style of this control be independent. \n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\t[Description(\"Gets or sets the whether this control reflect to parent(s) style. \\n \" +\n\t\t\t\t\t \"Set it to false if you want the style of this control be independent. \")]\n\t\tpublic bool IsDerivedStyle\n\t\t{\n\t\t\tget { return _isDerivedStyle; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_isDerivedStyle = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t#endregion\n\n\t\t#region Events\n\n\t\t/// <summary>\n\t\t/// Handling the mouse moving event so that we can detect if the cursor located in the postion of our need.\n\t\t/// </summary>\n\t\t/// <param name=\"e\">MouseEventArgs</param>\n\t\tprotected override void OnMouseMove(MouseEventArgs e)\n\t\t{\n\t\t\tbase.OnMouseMove(e);\n\t\t\t_point = e.Location;\n\t\t\tInvalidate();\n\t\t\tCursor = _point.X > Width - 50 ? Cursors.Hand : Cursors.IBeam;\n\n\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Handling on click event so that we can increase or decrease the value.\n\t\t/// </summary>\n\t\t/// <param name=\"e\">EventArgs</param>\n\t\tprotected override void OnClick(EventArgs e)\n\t\t{\n\t\t\tbase.OnClick(e);\n\t\t\tRevaluate();\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Here we set the smooth mouse hand.\n\t\t/// </summary>\n\t\t/// <param name=\"m\"></param>\n\t\tprotected override void WndProc(ref Message m)\n\t\t{\n\t\t\tif (m.Msg == User32.WM_SETCURSOR)\n\t\t\t{\n\t\t\t\tUser32.SetCursor(User32.LoadCursor(IntPtr.Zero, User32.IDC_HAND));\n\t\t\t\tm.Result = IntPtr.Zero;\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tbase.WndProc(ref m);\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Here we handle the height of the control while resizing, we provide the fixed height.\n\t\t/// </summary>\n\t\t/// <param name=\"e\"></param>\n\t\tprotected override void OnResize(EventArgs e)\n\t\t{\n\t\t\tbase.OnResize(e);\n\t\t\tHeight = 26;\n\t\t}\n\n\t\tprotected override void OnMouseDown(MouseEventArgs e)\n\t\t{\n\t\t\tbase.OnMouseDown(e);\n\t\t\tif (_point.X <= Width - 45 || _point.X >= Width - 3)\n\t\t\t\treturn;\n\t\t\tif (e.Button == MouseButtons.Left)\n\t\t\t{\n\t\t\t\t_holdTimer.Enabled = true;\n\t\t\t}\n\n\t\t\tInvalidate();\n\t\t}\n\n\t\tprotected override void OnMouseUp(MouseEventArgs e)\n\t\t{\n\t\t\t_holdTimer.Enabled = false;\n\t\t}\n\n\t\tprivate void HoldTimer_Tick(object sender, EventArgs args)\n\t\t{\n\t\t\tRevaluate();\n\t\t}\n\n\t\tprivate void Revaluate()\n\t\t{\n\t\t\tif (_point.X <= Width - 45 || _point.X >= Width - 3)\n\t\t\t\treturn;\n\t\t\tif (_point.X > Width - 45 && _point.X < Width - 25)\n\t\t\t{\n\t\t\t\tif (Value + 1 <= Maximum)\n\t\t\t\t\tValue += 1;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tif (Value - 1 >= Minimum)\n\t\t\t\t\tValue -= 1;\n\t\t\t}\n\t\t}\n\n\t\t#endregion\n\n\t}\n}"
  },
  {
    "path": "MetroSet UI/Controls/MetroSetPanel.cs",
    "content": "﻿/*\n* MetroSet UI - MetroSet UI Framework\n* \n* The MIT License (MIT)\n* Copyright (c) 2017 Narwin, https://github.com/N-a-r-w-i-n\n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of \n* this software and associated documentation files (the \"Software\"), to deal in the \n* Software without restriction, including without limitation the rights to use, copy, \n* modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, \n* and to permit persons to whom the Software is furnished to do so, subject to the \n* following conditions:\n* \n* The above copyright notice and this permission notice shall be included in \n* all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, \n* INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A \n* PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT \n* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF \n* CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE \n* OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n*/\n\nusing System;\nusing System.ComponentModel;\nusing System.Drawing;\nusing System.Runtime.InteropServices;\nusing System.Windows.Forms;\nusing MetroSet_UI.Components;\nusing MetroSet_UI.Enums;\nusing MetroSet_UI.Extensions;\nusing MetroSet_UI.Interfaces;\n\nnamespace MetroSet_UI.Controls\n{\n\t[ToolboxItem(true)]\n\t[ToolboxBitmap(typeof(MetroSetPanel), \"Bitmaps.Panel.bmp\")]\n\t[ComVisible(true)]\n\tpublic class MetroSetPanel : Panel, IMetroSetControl\n\t{\n\t\t#region Interfaces\n\n\t\t/// <summary>\n\t\t/// Gets or sets the style associated with the control.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the style associated with the control.\")]\n\t\tpublic Style Style\n\t\t{\n\t\t\tget => StyleManager?.Style ?? _style;\n\t\t\tset\n\t\t\t{\n\t\t\t\t_style = value;\n\t\t\t\tswitch (value)\n\t\t\t\t{\n\t\t\t\t\tcase Style.Light:\n\t\t\t\t\t\tApplyTheme();\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase Style.Dark:\n\t\t\t\t\t\tApplyTheme(Style.Dark);\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase Style.Custom:\n\t\t\t\t\t\tApplyTheme(Style.Custom);\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tApplyTheme();\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tInvalidate();\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets the Style Manager associated with the control.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the Style Manager associated with the control.\")]\n\t\tpublic StyleManager StyleManager\n\t\t{\n\t\t\tget => _styleManager;\n\t\t\tset { _styleManager = value; Invalidate(); }\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets the The Author name associated with the theme.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the The Author name associated with the theme.\")]\n\t\tpublic string ThemeAuthor { get; set; }\n\n\t\t/// <summary>\n\t\t/// Gets or sets the The Theme name associated with the theme.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the The Theme name associated with the theme.\")]\n\t\tpublic string ThemeName { get; set; }\n\n\t\t#endregion Interfaces\n\n\t\t#region Global Vars\n\n\t\tprivate readonly Utilites _utl;\n\n\t\t#endregion Global Vars\n\n\t\t#region Internal Vars\n\n\t\tprivate Style _style;\n\t\tprivate StyleManager _styleManager;\n\n\t\tprivate int _borderThickness = 1;\n\t\tprivate Color _borderColor;\n\t\tprivate Color _backgroundColor;\n\n\t\t#endregion Internal Vars\n\n\t\t#region Constructors \n\n\t\tpublic MetroSetPanel()\n\t\t{\n\t\t\tSetStyle(\n\t\t\t\tControlStyles.UserPaint |\n\t\t\t\tControlStyles.AllPaintingInWmPaint |\n\t\t\t\tControlStyles.ResizeRedraw |\n\t\t\t\tControlStyles.OptimizedDoubleBuffer |\n\t\t\t\tControlStyles.SupportsTransparentBackColor, true);\n\t\t\tBorderStyle = BorderStyle.None;\n\t\t\tUpdateStyles();\n\t\t\t_utl = new Utilites();\n\t\t\tApplyTheme();\n\t\t}\n\n\t\t#endregion Constructors\n\n\t\t#region ApplyTheme\n\n\t\t/// <summary>\n\t\t/// Gets or sets the style provided by the user.\n\t\t/// </summary>\n\t\t/// <param name=\"style\">The Style.</param>\n\t\tprivate void ApplyTheme(Style style = Style.Light)\n\t\t{\n\t\t\tif (!IsDerivedStyle)\n\t\t\t\treturn;\n\n\t\t\tswitch (style)\n\t\t\t{\n\t\t\t\tcase Style.Light:\n\t\t\t\t\tBorderColor = Color.FromArgb(150, 150, 150);\n\t\t\t\t\tBackgroundColor = Color.White;\n\t\t\t\t\tThemeAuthor = \"Narwin\";\n\t\t\t\t\tThemeName = \"MetroLite\";\n\t\t\t\t\tUpdateProperties();\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase Style.Dark:\n\t\t\t\t\tBorderColor = Color.FromArgb(110, 110, 110);\n\t\t\t\t\tBackgroundColor = Color.FromArgb(30, 30, 30);\n\t\t\t\t\tThemeAuthor = \"Narwin\";\n\t\t\t\t\tThemeName = \"MetroDark\";\n\t\t\t\t\tUpdateProperties();\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase Style.Custom:\n\t\t\t\t\tif (StyleManager != null)\n\t\t\t\t\t\tforeach (var varkey in StyleManager.LabelDictionary)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tswitch (varkey.Key)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tcase \"BorderColor\":\n\t\t\t\t\t\t\t\t\tBorderColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tcase \"BackColor\":\n\t\t\t\t\t\t\t\t\tBackgroundColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\tUpdateProperties();\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tthrow new ArgumentOutOfRangeException(nameof(style), style, null);\n\t\t\t}\n\t\t}\n\n\t\tprivate void UpdateProperties()\n\t\t{\n\t\t\tInvalidate();\n\t\t}\n\n\t\t#endregion Theme Changing\n\n\t\t#region Draw Control\n\n\t\tprotected override void OnPaint(PaintEventArgs e)\n\t\t{\n\t\t\tvar g = e.Graphics;\n\t\t\tvar r = new Rectangle(BorderThickness, BorderThickness, Width - (BorderThickness * 2 + 1), Height - ((BorderThickness * 2) + 1));\n\n\t\t\tusing (var bg = new SolidBrush(BackgroundColor))\n\t\t\t{\n\t\t\t\tusing (var p = new Pen(BorderColor, BorderThickness))\n\t\t\t\t{\n\t\t\t\t\tg.FillRectangle(bg, r);\n\t\t\t\t\tg.DrawRectangle(p, r);\n\t\t\t\t}\n\t\t\t}\n\n\t\t}\n\n\t\t#endregion\n\n\t\t#region Properties\n\n\t\t/// <summary>\n\t\t/// Gets the background color.\n\t\t/// </summary>\n\t\t[Browsable(false), EditorBrowsable(EditorBrowsableState.Never)]\n\t\tpublic override Color BackColor => Color.Transparent;\n\n\t\t/// <summary>\n\t\t/// Gets the foreground color.\n\t\t/// </summary>\n\t\t[Browsable(false), EditorBrowsable(EditorBrowsableState.Never)]\n\t\tpublic override Color ForeColor => Color.Transparent;\n\n\t\t/// <summary>\n\t\t/// Gets or sets the border style.\n\t\t/// </summary>\n\t\t[Browsable(false), EditorBrowsable(EditorBrowsableState.Never)]\n\t\tpublic new BorderStyle BorderStyle;\n\n\t\t/// <summary>\n\t\t/// Gets or sets the border thickness the control.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the border thickness the control.\")]\n\t\tpublic int BorderThickness\n\t\t{\n\t\t\tget { return _borderThickness; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_borderThickness = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets BorderColor used by the control\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets bordercolor used by the control.\")]\n\t\tpublic Color BorderColor\n\t\t{\n\t\t\tget { return _borderColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_borderColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets BackColor used by the control\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets backcolor used by the control.\")]\n\t\t[DisplayName(\"BackColor\")]\n\t\tpublic Color BackgroundColor\n\t\t{\n\t\t\tget { return _backgroundColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_backgroundColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\t\tprivate bool _isDerivedStyle = true;\n\n\t\t/// <summary>\n\t\t/// Gets or sets the whether this control reflect to parent form style.\n\t\t/// Set it to false if you want the style of this control be independent. \n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\t[Description(\"Gets or sets the whether this control reflect to parent(s) style. \\n \" +\n\t\t\t\t\t \"Set it to false if you want the style of this control be independent. \")]\n\t\tpublic bool IsDerivedStyle\n\t\t{\n\t\t\tget { return _isDerivedStyle; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_isDerivedStyle = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t#endregion\n\t}\n}"
  },
  {
    "path": "MetroSet UI/Controls/MetroSetProgressBar.cs",
    "content": "﻿/*\n * MetroSet UI - MetroSet UI Framework\n * \n * The MIT License (MIT)\n * Copyright (c) 2017 Narwin, https://github.com/N-a-r-w-i-n\n * \n * Permission is hereby granted, free of charge, to any person obtaining a copy of \n * this software and associated documentation files (the \"Software\"), to deal in the \n * Software without restriction, including without limitation the rights to use, copy, \n * modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, \n * and to permit persons to whom the Software is furnished to do so, subject to the \n * following conditions:\n * \n * The above copyright notice and this permission notice shall be included in \n * all copies or substantial portions of the Software.\n * \n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, \n * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A \n * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT \n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF \n * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE \n * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nusing System;\nusing System.ComponentModel;\nusing System.Drawing;\nusing System.Runtime.InteropServices;\nusing System.Windows.Forms;\nusing MetroSet_UI.Components;\nusing MetroSet_UI.Design;\nusing MetroSet_UI.Enums;\nusing MetroSet_UI.Extensions;\nusing MetroSet_UI.Interfaces;\n\nnamespace MetroSet_UI.Controls\n{\n\t[ToolboxItem(true)]\n\t[ToolboxBitmap(typeof(MetroSetProgressBar), \"Bitmaps.Progress.bmp\")]\n\t[Designer(typeof(MetroSetProgressBarDesigner))]\n\t[DefaultEvent(\"ValueChanged\")]\n\t[DefaultProperty(\"Value\")]\n\t[ComVisible(true)]\n\tpublic class MetroSetProgressBar : Control, IMetroSetControl\n\t{\n\t\t#region Interfaces\n\n\t\t/// <summary>\n\t\t/// Gets or sets the style associated with the control.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the style associated with the control.\")]\n\t\tpublic Style Style\n\t\t{\n\t\t\tget => StyleManager?.Style ?? _style;\n\t\t\tset\n\t\t\t{\n\t\t\t\t_style = value;\n\t\t\t\tswitch (value)\n\t\t\t\t{\n\t\t\t\t\tcase Style.Light:\n\t\t\t\t\t\tApplyTheme();\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase Style.Dark:\n\t\t\t\t\t\tApplyTheme(Style.Dark);\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase Style.Custom:\n\t\t\t\t\t\tApplyTheme(Style.Custom);\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tApplyTheme();\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tInvalidate();\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets the Style Manager associated with the control.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the Style Manager associated with the control.\")]\n\t\tpublic StyleManager StyleManager\n\t\t{\n\t\t\tget => _styleManager;\n\t\t\tset { _styleManager = value; Invalidate(); }\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets the The Author name associated with the theme.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the The Author name associated with the theme.\")]\n\t\tpublic string ThemeAuthor { get; set; }\n\n\t\t/// <summary>\n\t\t/// Gets or sets the The Theme name associated with the theme.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the The Theme name associated with the theme.\")]\n\t\tpublic string ThemeName { get; set; }\n\n\t\t#endregion Interfaces\n\n\t\t#region Global Vars\n\n\t\tprivate readonly Utilites _utl;\n\n\t\t#endregion Global Vars\n\n\t\t#region Internal Vars\n\n\t\tprivate Style _style;\n\t\tprivate StyleManager _styleManager;\n\t\tprivate int _value;\n\t\tprivate int _currentValue;\n\n\t\tprivate int _maximum = 100;\n\t\tprivate int _minimum;\n\t\tprivate ProgressOrientation _orientation = ProgressOrientation.Horizontal;\n\t\tprivate Color _backgroundColor;\n\t\tprivate Color _borderColor;\n\t\tprivate Color _progressColor;\n\t\tprivate Color _disabledProgressColor;\n\t\tprivate Color _disabledBackColor;\n\t\tprivate Color _disabledBorderColor;\n\n\t\t#endregion Internal Vars\n\n\t\t#region Constructors\n\n\t\tpublic MetroSetProgressBar()\n\t\t{\n\t\t\tSetStyle(\n\t\t\t\tControlStyles.ResizeRedraw |\n\t\t\t\tControlStyles.OptimizedDoubleBuffer |\n\t\t\t\tControlStyles.SupportsTransparentBackColor, true);\n\t\t\tUpdateStyles();\n\t\t\t_utl = new Utilites();\n\t\t\tApplyTheme();\n\t\t}\n\n\t\t#endregion Constructors\n\n\t\t#region ApplyTheme\n\n\t\t/// <summary>\n\t\t/// Gets or sets the style provided by the user.\n\t\t/// </summary>\n\t\t/// <param name=\"style\">The Style.</param>\n\t\tprivate void ApplyTheme(Style style = Style.Light)\n\t\t{\n\t\t\tif (!IsDerivedStyle)\n\t\t\t\treturn;\n\n\t\t\tswitch (style)\n\t\t\t{\n\t\t\t\tcase Style.Light:\n\t\t\t\t\tProgressColor = Color.FromArgb(65, 177, 225);\n\t\t\t\t\tBorderColor = Color.FromArgb(238, 238, 238);\n\t\t\t\t\tBackgroundColor = Color.FromArgb(238, 238, 238);\n\t\t\t\t\tDisabledProgressColor = Color.FromArgb(120, 65, 177, 225);\n\t\t\t\t\tDisabledBorderColor = Color.FromArgb(238, 238, 238);\n\t\t\t\t\tDisabledBackColor = Color.FromArgb(238, 238, 238);\n\t\t\t\t\tThemeAuthor = \"Narwin\";\n\t\t\t\t\tThemeName = \"MetroLite\";\n\t\t\t\t\tUpdateProperties();\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase Style.Dark:\n\t\t\t\t\tProgressColor = Color.FromArgb(65, 177, 225);\n\t\t\t\t\tBackgroundColor = Color.FromArgb(38, 38, 38);\n\t\t\t\t\tBorderColor = Color.FromArgb(38, 38, 38);\n\t\t\t\t\tDisabledProgressColor = Color.FromArgb(120, 65, 177, 225);\n\t\t\t\t\tDisabledBackColor = Color.FromArgb(38, 38, 38);\n\t\t\t\t\tDisabledBorderColor = Color.FromArgb(38, 38, 38);\n\t\t\t\t\tThemeAuthor = \"Narwin\";\n\t\t\t\t\tThemeName = \"MetroDark\";\n\t\t\t\t\tUpdateProperties();\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase Style.Custom:\n\t\t\t\t\tif (StyleManager != null)\n\t\t\t\t\t\tforeach (var varkey in StyleManager.ProgressDictionary)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tswitch (varkey.Key)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tcase \"ProgressColor\":\n\t\t\t\t\t\t\t\t\tProgressColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tcase \"BorderColor\":\n\t\t\t\t\t\t\t\t\tBorderColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tcase \"BackColor\":\n\t\t\t\t\t\t\t\t\tBackgroundColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tcase \"DisabledBackColor\":\n\t\t\t\t\t\t\t\t\tDisabledBackColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tcase \"DisabledBorderColor\":\n\t\t\t\t\t\t\t\t\tDisabledBorderColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tcase \"DisabledProgressColor\":\n\t\t\t\t\t\t\t\t\tDisabledProgressColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\tUpdateProperties();\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tthrow new ArgumentOutOfRangeException(nameof(style), style, null);\n\t\t\t}\n\t\t}\n\n\t\tprivate void UpdateProperties()\n\t\t{\n\t\t\tInvalidate();\n\t\t}\n\n\t\t#endregion Theme Changing\n\n\t\t#region Draw Control\n\n\t\tprotected override void OnPaint(PaintEventArgs e)\n\t\t{\n\t\t\tvar g = e.Graphics;\n\t\t\tvar rect = new Rectangle(0, 0, Width - 1, Height - 1);\n\n\t\t\tusing (var bg = new SolidBrush(Enabled ? BackgroundColor : DisabledBackColor))\n\t\t\t{\n\t\t\t\tusing (var p = new Pen(Enabled ? BorderColor : DisabledBorderColor))\n\t\t\t\t{\n\t\t\t\t\tusing (var ps = new SolidBrush(Enabled ? ProgressColor : DisabledProgressColor))\n\t\t\t\t\t{\n\t\t\t\t\t\tg.FillRectangle(bg, rect);\n\t\t\t\t\t\tif (_currentValue != 0)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tswitch (Orientation)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tcase ProgressOrientation.Horizontal:\n\t\t\t\t\t\t\t\t\tg.FillRectangle(ps, new Rectangle(0, 0, _currentValue - 1, Height - 1));\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\tcase ProgressOrientation.Vertical:\n\t\t\t\t\t\t\t\t\tg.FillRectangle(ps, new Rectangle(0, Height - _currentValue, Width - 1, _currentValue - 1));\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\tthrow new ArgumentOutOfRangeException();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tg.DrawRectangle(p, rect);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t#endregion\n\n\t\t#region Properties\n\n\t\t/// <summary>\n\t\t/// Gets or sets the current position of the progressbar.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the current position of the progressbar.\")]\n\t\tpublic int Value\n\t\t{\n\t\t\tget => _value < 0 ? 0 : _value;\n\t\t\tset\n\t\t\t{\n\t\t\t\tif (value > Maximum)\n\t\t\t\t{\n\t\t\t\t\tvalue = Maximum;\n\t\t\t\t}\n\t\t\t\t_value = value;\n\t\t\t\tRenewCurrentValue();\n\t\t\t\tValueChanged?.Invoke(this);\n\t\t\t\tInvalidate();\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets the maximum value of the progressbar.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the maximum value of the progressbar.\")]\n\t\tpublic int Maximum\n\t\t{\n\t\t\tget { return _maximum; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_maximum = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets the minimum value of the progressbar.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the minimum value of the progressbar.\")]\n\t\tpublic int Minimum\n\t\t{\n\t\t\tget { return _minimum; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_minimum = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t[Browsable(false)]\n\t\tpublic override Color BackColor => Color.Transparent;\n\n\t\t/// <summary>\n\t\t/// Gets or sets the minimum value of the progressbar.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the minimum value of the progressbar.\")]\n\t\tpublic ProgressOrientation Orientation\n\t\t{\n\t\t\tget { return _orientation; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_orientation = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets the control BackColor.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the control backcolor.\")]\n\t\t[DisplayName(\"BackColor\")]\n\t\tpublic Color BackgroundColor\n\t\t{\n\t\t\tget { return _backgroundColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_backgroundColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets the border color.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the border color.\")]\n\t\tpublic Color BorderColor\n\t\t{\n\t\t\tget { return _borderColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_borderColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets the progress color of the control.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the progress color of the control.\")]\n\t\tpublic Color ProgressColor\n\t\t{\n\t\t\tget { return _progressColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_progressColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets the Progress color of the control whenever while disabled\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the progresscolor of the control whenever while disabled.\")]\n\t\tpublic Color DisabledProgressColor\n\t\t{\n\t\t\tget { return _disabledProgressColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_disabledProgressColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets disabled BackColor used by the control\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets disabled backcolor used by the control.\")]\n\t\tpublic Color DisabledBackColor\n\t\t{\n\t\t\tget { return _disabledBackColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_disabledBackColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets the border color while the control disabled.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the border color while the control disabled.\")]\n\t\tpublic Color DisabledBorderColor\n\t\t{\n\t\t\tget { return _disabledBorderColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_disabledBorderColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\t\tprivate bool _isDerivedStyle = true;\n\n\t\t/// <summary>\n\t\t/// Gets or sets the whether this control reflect to parent form style.\n\t\t/// Set it to false if you want the style of this control be independent. \n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\t[Description(\"Gets or sets the whether this control reflect to parent(s) style. \\n \" +\n\t\t\t\t\t \"Set it to false if you want the style of this control be independent. \")]\n\t\tpublic bool IsDerivedStyle\n\t\t{\n\t\t\tget { return _isDerivedStyle; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_isDerivedStyle = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t#endregion\n\n\t\t#region Events\n\n\t\tpublic event ValueChangedEventHandler ValueChanged;\n\t\tpublic delegate void ValueChangedEventHandler(object sender);\n\n\t\t/// <summary>\n\t\t/// Here we handle the current value.\n\t\t/// </summary>\n\t\tprivate void RenewCurrentValue()\n\t\t{\n\t\t\tif (Orientation == ProgressOrientation.Horizontal)\n\t\t\t\t_currentValue = (int)Math.Round((Value - Minimum) / (double)(Maximum - Minimum) * (Width - 1));\n\t\t\telse\n\t\t\t\t_currentValue = Convert.ToInt32(Value / (double)Maximum * Height - 1);\n\t\t}\n\n\t\t#endregion\n\n\t}\n}"
  },
  {
    "path": "MetroSet UI/Controls/MetroSetRadioButton.cs",
    "content": "﻿/*\n* MetroSet UI - MetroSet UI Framework\n* \n* The MIT License (MIT)\n* Copyright (c) 2017 Narwin, https://github.com/N-a-r-w-i-n\n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of \n* this software and associated documentation files (the \"Software\"), to deal in the \n* Software without restriction, including without limitation the rights to use, copy, \n* modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, \n* and to permit persons to whom the Software is furnished to do so, subject to the \n* following conditions:\n* \n* The above copyright notice and this permission notice shall be included in \n* all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, \n* INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A \n* PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT \n* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF \n* CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE \n* OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n*/\n\nusing System;\nusing System.ComponentModel;\nusing System.Drawing;\nusing System.Drawing.Drawing2D;\nusing System.Drawing.Text;\nusing System.Runtime.InteropServices;\nusing System.Windows.Forms;\nusing MetroSet_UI.Animates;\nusing MetroSet_UI.Components;\nusing MetroSet_UI.Design;\nusing MetroSet_UI.Enums;\nusing MetroSet_UI.Extensions;\nusing MetroSet_UI.Interfaces;\nusing MetroSet_UI.Native;\n\nnamespace MetroSet_UI.Controls\n{\n\n\t[ToolboxItem(true)]\n\t[ToolboxBitmap(typeof(MetroSetRadioButton), \"Bitmaps.RadioButton.bmp\")]\n\t[Designer(typeof(MetroSetRadioButtonDesigner))]\n\t[DefaultEvent(\"CheckedChanged\")]\n\t[DefaultProperty(\"Checked\")]\n\t[ComVisible(true)]\n\tpublic class MetroSetRadioButton : Control, IMetroSetControl, IDisposable\n\t{\n\n\t\t#region Interfaces\n\n\t\t/// <summary>\n\t\t/// Gets or sets the style associated with the control.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the style associated with the control.\")]\n\t\tpublic Style Style\n\t\t{\n\t\t\tget => StyleManager?.Style ?? _style;\n\t\t\tset\n\t\t\t{\n\t\t\t\t_style = value;\n\t\t\t\tswitch (value)\n\t\t\t\t{\n\t\t\t\t\tcase Style.Light:\n\t\t\t\t\t\tApplyTheme();\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase Style.Dark:\n\t\t\t\t\t\tApplyTheme(Style.Dark);\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase Style.Custom:\n\t\t\t\t\t\tApplyTheme(Style.Custom);\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tApplyTheme();\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tInvalidate();\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets the Style Manager associated with the control.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the Style Manager associated with the control.\")]\n\t\tpublic StyleManager StyleManager\n\t\t{\n\t\t\tget => _styleManager;\n\t\t\tset { _styleManager = value; Invalidate(); }\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets the The Author name associated with the theme.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the The Author name associated with the theme.\")]\n\t\tpublic string ThemeAuthor { get; set; }\n\n\t\t/// <summary>\n\t\t/// Gets or sets the The Theme name associated with the theme.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the The Theme name associated with the theme.\")]\n\t\tpublic string ThemeName { get; set; }\n\n\t\t#endregion Interfaces\n\n\t\t#region Global Vars\n\n\t\tprivate readonly Utilites _utl;\n\n\t\t#endregion Global Vars\n\n\t\t#region Internal Vars\n\n\t\tprivate Style _style;\n\t\tprivate StyleManager _styleManager;\n\t\tprivate bool _checked;\n\t\tprivate IntAnimate _animator;\n\n\t\tprivate int _group;\n\t\tprivate Color _backgroundColor;\n\t\tprivate Color _borderColor;\n\t\tprivate Color _disabledBorderColor;\n\t\tprivate Color _checkSignColor;\n\n\t\t#endregion Internal Vars\n\n\t\t#region Constructors\n\n\t\tpublic MetroSetRadioButton()\n\t\t{\n\t\t\tSetStyle(\n\t\t\t\tControlStyles.ResizeRedraw |\n\t\t\t\tControlStyles.OptimizedDoubleBuffer |\n\t\t\t\tControlStyles.SupportsTransparentBackColor, true);\n\t\t\tUpdateStyles();\n\t\t\tbase.Font = MetroSetFonts.SemiBold(10);\n\t\t\t_utl = new Utilites();\n\t\t\t_animator = new IntAnimate();\n\t\t\t_animator.Setting(100, 0, 255);\n\t\t\t_animator.Update = (alpha) => Invalidate();\n\t\t\tApplyTheme();\n\t\t}\n\n\t\t#endregion Constructors\n\n\t\t#region ApplyTheme\n\n\t\t/// <summary>\n\t\t/// Gets or sets the style provided by the user.\n\t\t/// </summary>\n\t\t/// <param name=\"style\">The Style.</param>\n\t\tprivate void ApplyTheme(Style style = Style.Light)\n\t\t{\n\t\t\tif (!IsDerivedStyle)\n\t\t\t\treturn;\n\n\t\t\tswitch (style)\n\t\t\t{\n\t\t\t\tcase Style.Light:\n\t\t\t\t\tForeColor = Color.Black;\n\t\t\t\t\tBackgroundColor = Color.White;\n\t\t\t\t\tBorderColor = Color.FromArgb(155, 155, 155);\n\t\t\t\t\tDisabledBorderColor = Color.FromArgb(205, 205, 205);\n\t\t\t\t\tCheckSignColor = Color.FromArgb(65, 177, 225);\n\t\t\t\t\tThemeAuthor = \"Narwin\";\n\t\t\t\t\tThemeName = \"MetroLite\";\n\t\t\t\t\tUpdateProperties();\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase Style.Dark:\n\t\t\t\t\tForeColor = Color.FromArgb(170, 170, 170);\n\t\t\t\t\tBackgroundColor = Color.FromArgb(30, 30, 30);\n\t\t\t\t\tBorderColor = Color.FromArgb(155, 155, 155);\n\t\t\t\t\tDisabledBorderColor = Color.FromArgb(85, 85, 85);\n\t\t\t\t\tCheckSignColor = Color.FromArgb(65, 177, 225);\n\t\t\t\t\tThemeAuthor = \"Narwin\";\n\t\t\t\t\tThemeName = \"MetroDark\";\n\t\t\t\t\tUpdateProperties();\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase Style.Custom:\n\t\t\t\t\tif (StyleManager != null)\n\t\t\t\t\t\tforeach (var varkey in StyleManager.RadioButtonDictionary)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tswitch (varkey.Key)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tcase \"ForeColor\":\n\t\t\t\t\t\t\t\t\tForeColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tcase \"BackColor\":\n\t\t\t\t\t\t\t\t\tBackgroundColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tcase \"BorderColor\":\n\t\t\t\t\t\t\t\t\tBorderColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tcase \"DisabledBorderColor\":\n\t\t\t\t\t\t\t\t\tDisabledBorderColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tcase \"CheckColor\":\n\t\t\t\t\t\t\t\t\tCheckSignColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\tUpdateProperties();\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tthrow new ArgumentOutOfRangeException(nameof(style), style, null);\n\t\t\t}\n\t\t}\n\n\t\tprivate void UpdateProperties()\n\t\t{\n\t\t\ttry\n\t\t\t{\n\t\t\t\tForeColor = ForeColor;\n\t\t\t\tInvalidate();\n\t\t\t}\n\t\t\tcatch (Exception ex)\n\t\t\t{\n\t\t\t\tthrow new Exception(ex.StackTrace);\n\t\t\t}\n\t\t}\n\n\t\t#endregion Theme Changing\n\n\t\t#region Draw Control\n\n\t\tprotected override void OnPaint(PaintEventArgs e)\n\t\t{\n\t\t\tvar g = e.Graphics;\n\t\t\tg.TextRenderingHint = TextRenderingHint.ClearTypeGridFit;\n\t\t\tg.SmoothingMode = SmoothingMode.AntiAlias;\n\n\t\t\tvar rect = new Rectangle(0, 0, 17, 16);\n\t\t\tvar alpha = _animator.Value;\n\n\t\t\tusing (var backBrush = new SolidBrush(Enabled ? BackgroundColor : Color.FromArgb(238, 238, 238)))\n\t\t\t{\n\t\t\t\tusing (var checkMarkBrush = new SolidBrush(Enabled ? Checked || _animator.Active ? Color.FromArgb(alpha, CheckSignColor) : BackgroundColor : Checked || _animator.Active ? Color.FromArgb(alpha, DisabledBorderColor) : Color.FromArgb(238, 238, 238)))\n\t\t\t\t{\n\t\t\t\t\tusing (var p = new Pen(Enabled ? BorderColor : DisabledBorderColor))\n\t\t\t\t\t{\n\t\t\t\t\t\tg.FillEllipse(backBrush, rect);\n\t\t\t\t\t\tif (Enabled)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tg.DrawEllipse(p, rect);\n\t\t\t\t\t\t\tg.FillEllipse(checkMarkBrush, new Rectangle(3, 3, 11, 10));\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tg.FillEllipse(checkMarkBrush, new Rectangle(3, 3, 11, 10));\n\t\t\t\t\t\t\tg.DrawEllipse(p, rect);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t}\n\t\t\tg.SmoothingMode = SmoothingMode.Default;\n\t\t\tusing (var tb = new SolidBrush(ForeColor))\n\t\t\t{\n\t\t\t\tusing (var sf = new StringFormat { Alignment = StringAlignment.Near, LineAlignment = StringAlignment.Center })\n\t\t\t\t{\n\t\t\t\t\tg.DrawString(Text, Font, tb, new Rectangle(19, 2, Width, Height - 4), sf);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t#endregion Draw Control\n\n\t\t#region Events\n\n\t\tpublic event CheckedChangedEventHandler CheckedChanged;\n\t\tpublic delegate void CheckedChangedEventHandler(object sender);\n\n\t\t/// <summary>\n\t\t/// Here we will handle the checking state in runtime.\n\t\t/// </summary>\n\t\t/// <param name=\"e\">EventArgs</param>\n\t\tprotected override void OnClick(EventArgs e)\n\t\t{\n\t\t\tbase.OnClick(e);\n\t\t\tChecked = !Checked;\n\t\t\tInvalidate();\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Here we will set the limited height for the control to avoid high and low of the text drawing.\n\t\t/// </summary>\n\t\t/// <param name=\"e\">EventArgs</param>\n\t\tprotected override void OnResize(EventArgs e)\n\t\t{\n\t\t\tbase.OnResize(e);\n\t\t\tHeight = 17;\n\t\t\tInvalidate();\n\t\t}\n\n\t\t/// <summary>\n\t\t/// This Methods prevents checikng two radios in the same container.\n\t\t/// </summary>\n\t\tprivate void UpdateState()\n\t\t{\n\t\t\tif (!IsHandleCreated || !Checked)\n\t\t\t\treturn;\n\t\t\tforeach (Control c in Parent.Controls)\n\t\t\t{\n\t\t\t\tif (!ReferenceEquals(c, this) && c is MetroSetRadioButton && ((MetroSetRadioButton)c).Group == Group)\n\t\t\t\t{\n\t\t\t\t\t((MetroSetRadioButton)c).Checked = false;\n\t\t\t\t}\n\t\t\t}\n\t\t\tCheckedChanged?.Invoke(this);\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Here we set the mouse hand smooth.\n\t\t/// </summary>\n\t\t/// <param name=\"m\"></param>\n\t\tprotected override void WndProc(ref Message m)\n\t\t{\n\t\t\tif (m.Msg == User32.WM_SETCURSOR)\n\t\t\t{\n\t\t\t\tUser32.SetCursor(User32.LoadCursor(IntPtr.Zero, User32.IDC_HAND));\n\t\t\t\tm.Result = IntPtr.Zero;\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tbase.WndProc(ref m);\n\t\t}\n\n\t\t#endregion Events\n\n\t\t#region Properties\n\n\t\t/// <summary>\n\t\t/// Gets or sets a value indicating whether the control is checked.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets a value indicating whether the control is checked.\")]\n\t\tpublic bool Checked\n\t\t{\n\t\t\tget => _checked;\n\t\t\tset\n\t\t\t{\n\t\t\t\t_checked = value;\n\t\t\t\tCheckedChanged?.Invoke(this);\n\t\t\t\t_animator.Reverse(!value);\n\t\t\t\tUpdateState();\n\t\t\t\tCheckState = value ? Enums.CheckState.Checked : Enums.CheckState.Unchecked;\n\t\t\t\tInvalidate();\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Specifies the state of a control, such as a check box, that can be checked, unchecked.\n\t\t/// </summary>\n\t\t[Browsable(false)]\n\t\tpublic Enums.CheckState CheckState { get; set; }\n\n\t\t[Category(\"MetroSet Framework\")]\n\t\t[DefaultValue(1)]\n\t\tpublic int Group\n\t\t{\n\t\t\tget { return _group; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_group = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets fore color used by the control\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the control forecolor.\")]\n\t\tpublic override Color ForeColor { get; set; }\n\n\t\t/// <summary>\n\t\t/// I make back color inaccessible cause I want it to be just transparent and I used another property for the same job in following properties. \n\t\t/// </summary>\n\t\t[Browsable(false), EditorBrowsable(EditorBrowsableState.Never)]\n\t\tpublic override Color BackColor => Color.Transparent;\n\n\t\t/// <summary>\n\t\t/// Gets or sets the control back color.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the control backcolor.\")]\n\t\t[DisplayName(\"BackColor\")]\n\t\tpublic Color BackgroundColor\n\t\t{\n\t\t\tget { return _backgroundColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_backgroundColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets the border color.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the border color.\")]\n\t\tpublic Color BorderColor\n\t\t{\n\t\t\tget { return _borderColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_borderColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets the border color while the control disabled.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the border color while the control disabled.\")]\n\t\tpublic Color DisabledBorderColor\n\t\t{\n\t\t\tget { return _disabledBorderColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_disabledBorderColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets the color of the check symbol.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the color of the check symbol.\")]\n\t\tpublic Color CheckSignColor\n\t\t{\n\t\t\tget { return _checkSignColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_checkSignColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\t\tprivate bool _isDerivedStyle = true;\n\n\t\t/// <summary>\n\t\t/// Gets or sets the whether this control reflect to parent form style.\n\t\t/// Set it to false if you want the style of this control be independent. \n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\t[Description(\"Gets or sets the whether this control reflect to parent(s) style. \\n \" +\n\t\t\t\t\t \"Set it to false if you want the style of this control be independent. \")]\n\t\tpublic bool IsDerivedStyle\n\t\t{\n\t\t\tget { return _isDerivedStyle; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_isDerivedStyle = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t#endregion Properties\n\n\t\t#region Disposing\n\n\t\t/// <summary>\n\t\t/// Disposing Methods.\n\t\t/// </summary>\n\t\tpublic new void Dispose()\n\t\t{\n\t\t\tDispose(true);\n\t\t\tGC.SuppressFinalize(this);\n\t\t}\n\n\t\t#endregion\n\n\t}\n}"
  },
  {
    "path": "MetroSet UI/Controls/MetroSetRichTextBox.cs",
    "content": "﻿/*\n* MetroSet UI - MetroSet UI Framework\n* \n* The MIT License (MIT)\n* Copyright (c) 2017 Narwin, https://github.com/N-a-r-w-i-n\n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of \n* this software and associated documentation files (the \"Software\"), to deal in the \n* Software without restriction, including without limitation the rights to use, copy, \n* modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, \n* and to permit persons to whom the Software is furnished to do so, subject to the \n* following conditions:\n* \n* The above copyright notice and this permission notice shall be included in \n* all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, \n* INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A \n* PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT \n* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF \n* CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE \n* OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n*/\n\nusing System;\nusing System.ComponentModel;\nusing System.Drawing;\nusing System.Runtime.InteropServices;\nusing System.Windows.Forms;\nusing MetroSet_UI.Components;\nusing MetroSet_UI.Design;\nusing MetroSet_UI.Enums;\nusing MetroSet_UI.Extensions;\nusing MetroSet_UI.Interfaces;\n\nnamespace MetroSet_UI.Controls\n{\n\t[ToolboxItem(true)]\n\t[ToolboxBitmap(typeof(MetroSetRichTextBox), \"Bitmaps.RitchTextBox.bmp\")]\n\t[Designer(typeof(MetroSetRichTextBoxDesigner))]\n\t[DefaultProperty(\"Text\")]\n\t[DefaultEvent(\"TextChanged\")]\n\t[ComVisible(true)]\n\tpublic class MetroSetRichTextBox : Control, IMetroSetControl\n\t{\n\t\t#region Interfaces\n\n\t\t/// <summary>\n\t\t/// Gets or sets the style associated with the control.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the style associated with the control.\")]\n\t\tpublic Style Style\n\t\t{\n\t\t\tget => StyleManager?.Style ?? _style;\n\t\t\tset\n\t\t\t{\n\t\t\t\t_style = value;\n\t\t\t\tswitch (value)\n\t\t\t\t{\n\t\t\t\t\tcase Style.Light:\n\t\t\t\t\t\tApplyTheme();\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase Style.Dark:\n\t\t\t\t\t\tApplyTheme(Style.Dark);\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase Style.Custom:\n\t\t\t\t\t\tApplyTheme(Style.Custom);\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tApplyTheme();\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tInvalidate();\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets the Style Manager associated with the control.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the Style Manager associated with the control.\")]\n\t\tpublic StyleManager StyleManager\n\t\t{\n\t\t\tget => _styleManager;\n\t\t\tset { _styleManager = value; Invalidate(); }\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets the The Author name associated with the theme.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the The Author name associated with the theme.\")]\n\t\tpublic string ThemeAuthor { get; set; }\n\n\t\t/// <summary>\n\t\t/// Gets or sets the The Theme name associated with the theme.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the The Theme name associated with the theme.\")]\n\t\tpublic string ThemeName { get; set; }\n\n\t\t#endregion Interfaces\n\n\t\t#region Global Vars\n\n\t\tprivate Utilites _utl;\n\n\t\t#endregion Global Vars\n\n\t\t#region Internal Vars\n\n\t\tprivate Style _style;\n\t\tprivate StyleManager _styleManager;\n\t\tprivate int _maxLength;\n\t\tprivate bool _readOnly;\n\t\tprivate MouseMode _state;\n\t\tprivate bool _wordWrap;\n\t\tprivate bool _autoWordSelection;\n\t\tprivate string[] _lines;\n\t\tprivate Color _foreColor;\n\t\tprivate Color _backColor;\n\t\tprivate Color _borderColor;\n\t\tprivate Color _hoverColor;\n\n\t\tprivate Color _disabledBackColor = Color.FromArgb(204, 204, 204);\n\t\tprivate Color _disabledForeColor = Color.FromArgb(136, 136, 136);\n\t\tprivate Color _disabledBorderColor = Color.FromArgb(155, 155, 155);\n\n\t\t#region Base RichTextBox\n\n\t\tprivate RichTextBox _richTextBox = new RichTextBox();\n\n\t\t#endregion Base RichTextBox\n\n\t\t#endregion Internal Vars\n\n\t\t#region Constructors\n\n\t\tpublic MetroSetRichTextBox()\n\t\t{\n\t\t\tSetStyle(\n\t\t\t\tControlStyles.AllPaintingInWmPaint |\n\t\t\t\tControlStyles.ResizeRedraw |\n\t\t\t\tControlStyles.OptimizedDoubleBuffer |\n\t\t\t\tControlStyles.SupportsTransparentBackColor, true);\n\t\t\tUpdateStyles();\n\t\t\tbase.Font = MetroSetFonts.Regular(10);\n\t\t\tEvaluateVars();\n\t\t\tApplyTheme();\n\t\t\tT_Defaults();\n\t\t}\n\n\t\tprivate void EvaluateVars()\n\t\t{\n\t\t\t_utl = new Utilites();\n\t\t}\n\n\t\tprivate void T_Defaults()\n\t\t{\n\t\t\t_wordWrap = true;\n\t\t\t_autoWordSelection = false;\n\t\t\t_foreColor = Color.FromArgb(20, 20, 20);\n\n\t\t\t_borderColor = Color.FromArgb(155, 155, 155);\n\t\t\t_hoverColor = Color.FromArgb(102, 102, 102);\n\t\t\t_backColor = Color.FromArgb(238, 238, 238);\n\t\t\t_richTextBox.BackColor = BackColor;\n\t\t\t_richTextBox.ForeColor = ForeColor;\n\t\t\t_readOnly = false;\n\t\t\t_maxLength = 32767;\n\t\t\t_state = MouseMode.Normal;\n\t\t\t_lines = null;\n\t\t\t_richTextBox.Cursor = Cursors.IBeam;\n\t\t\t_richTextBox.BorderStyle = BorderStyle.None;\n\t\t\t_richTextBox.Location = new Point(7, 8);\n\t\t\t_richTextBox.Font = Font;\n\t\t\t_richTextBox.Size = new Size(Width, Height);\n\n\t\t\t_richTextBox.MouseHover += T_MouseHover;\n\t\t\t_richTextBox.MouseUp += T_MouseUp;\n\t\t\t_richTextBox.Leave += T_Leave;\n\t\t\t_richTextBox.Enter += T_Enter;\n\t\t\t_richTextBox.KeyDown += T_KeyDown;\n\t\t\t_richTextBox.TextChanged += T_TextChanged;\n\n\t\t}\n\n\t\t#endregion Constructors\n\n\t\t#region Draw Control\n\n\t\tprotected override void OnPaint(PaintEventArgs e)\n\t\t{\n\t\t\tvar g = e.Graphics;\n\t\t\tvar rect = new Rectangle(0, 0, Width - 1, Height - 1);\n\t\t\tg.TextRenderingHint = System.Drawing.Text.TextRenderingHint.ClearTypeGridFit;\n\n\t\t\tif (Enabled)\n\t\t\t{\n\t\t\t\tusing (var bg = new SolidBrush(BackColor))\n\t\t\t\t{\n\t\t\t\t\tusing (var p = new Pen(BorderColor))\n\t\t\t\t\t{\n\t\t\t\t\t\tusing (var ph = new Pen(HoverColor))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tg.FillRectangle(bg, rect);\n\t\t\t\t\t\t\tswitch (_state)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tcase MouseMode.Normal:\n\t\t\t\t\t\t\t\t\tg.DrawRectangle(p, rect);\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\tcase MouseMode.Hovered:\n\t\t\t\t\t\t\t\t\tg.DrawRectangle(ph, rect);\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t_richTextBox.BackColor = BackColor;\n\t\t\t\t\t\t\t_richTextBox.ForeColor = ForeColor;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tusing (var bg = new SolidBrush(DisabledBackColor))\n\t\t\t\t{\n\t\t\t\t\tusing (var p = new Pen(DisabledBorderColor))\n\t\t\t\t\t{\n\t\t\t\t\t\tg.FillRectangle(bg, rect);\n\t\t\t\t\t\tg.DrawRectangle(p, rect);\n\t\t\t\t\t\t_richTextBox.BackColor = DisabledBackColor;\n\t\t\t\t\t\t_richTextBox.ForeColor = DisabledForeColor;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t_richTextBox.Location = new Point(7, 4);\n\t\t\t_richTextBox.Width = Width - 10;\n\n\t\t}\n\n\t\t#endregion Draw Control\n\n\t\t#region ApplyTheme\n\n\t\t/// <summary>\n\t\t/// Gets or sets the style provided by the user.\n\t\t/// </summary>\n\t\t/// <param name=\"style\">The Style.</param>\n\t\tprivate void ApplyTheme(Style style = Style.Light)\n\t\t{\n\t\t\tif (!IsDerivedStyle)\n\t\t\t\treturn;\n\n\t\t\tswitch (style)\n\t\t\t{\n\t\t\t\tcase Style.Light:\n\t\t\t\t\tForeColor = Color.FromArgb(20, 20, 20);\n\t\t\t\t\tBackColor = Color.FromArgb(238, 238, 238);\n\t\t\t\t\tHoverColor = Color.FromArgb(102, 102, 102);\n\t\t\t\t\tBorderColor = Color.FromArgb(155, 155, 155);\n\t\t\t\t\tDisabledBackColor = Color.FromArgb(204, 204, 204);\n\t\t\t\t\tDisabledBorderColor = Color.FromArgb(155, 155, 155);\n\t\t\t\t\tDisabledForeColor = Color.FromArgb(136, 136, 136);\n\t\t\t\t\tThemeAuthor = \"Narwin\";\n\t\t\t\t\tThemeName = \"MetroLite\";\n\t\t\t\t\tUpdateProperties();\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase Style.Dark:\n\t\t\t\t\tForeColor = Color.FromArgb(204, 204, 204);\n\t\t\t\t\tBackColor = Color.FromArgb(34, 34, 34);\n\t\t\t\t\tHoverColor = Color.FromArgb(170, 170, 170);\n\t\t\t\t\tBorderColor = Color.FromArgb(110, 110, 110);\n\t\t\t\t\tDisabledBackColor = Color.FromArgb(80, 80, 80);\n\t\t\t\t\tDisabledBorderColor = Color.FromArgb(109, 109, 109);\n\t\t\t\t\tDisabledForeColor = Color.FromArgb(109, 109, 109);\n\t\t\t\t\tThemeAuthor = \"Narwin\";\n\t\t\t\t\tThemeName = \"MetroDark\";\n\t\t\t\t\tUpdateProperties();\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase Style.Custom:\n\t\t\t\t\tif (StyleManager != null)\n\t\t\t\t\t\tforeach (var varkey in StyleManager.RichTextBoxDictionary)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tswitch (varkey.Key)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tcase \"ForeColor\":\n\t\t\t\t\t\t\t\t\tForeColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tcase \"BackColor\":\n\t\t\t\t\t\t\t\t\tBackColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tcase \"HoverColor\":\n\t\t\t\t\t\t\t\t\tHoverColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tcase \"BorderColor\":\n\t\t\t\t\t\t\t\t\tBorderColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tcase \"DisabledBackColor\":\n\t\t\t\t\t\t\t\t\tDisabledBackColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tcase \"DisabledBorderColor\":\n\t\t\t\t\t\t\t\t\tDisabledBorderColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tcase \"DisabledForeColor\":\n\t\t\t\t\t\t\t\t\tDisabledForeColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\tUpdateProperties();\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tthrow new ArgumentOutOfRangeException(nameof(style), style, null);\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Updating properties after changing in style.\n\t\t/// </summary>\n\t\tprivate void UpdateProperties()\n\t\t{\n\t\t\tInvalidate();\n\t\t\t_richTextBox.Invalidate();\n\t\t}\n\n\t\t#endregion ApplyTheme\n\n\t\t#region Events\n\n\t\tpublic new event TextChangedEventHandler TextChanged;\n\n\t\tpublic delegate void TextChangedEventHandler(object sender);\n\n\t\tpublic event SelectionChangedEventHandler SelectionChanged;\n\n\t\tpublic delegate void SelectionChangedEventHandler(object sender, EventArgs e);\n\n\t\tpublic event LinkClickedEventHandler LinkClicked;\n\n\t\tpublic delegate void LinkClickedEventHandler(object sender, EventArgs e);\n\n\t\tpublic event ProtectedEventHandler Protected;\n\n\t\tpublic delegate void ProtectedEventHandler(object sender, EventArgs e);\n\n\n\t\t/// <summary>\n\t\t/// Handling richtextbox selection changed event and raising the same event here.\n\t\t/// </summary>\n\t\t/// <param name=\"sender\">object</param>\n\t\t/// <param name=\"e\">EventArgs</param>\n\t\tprivate void T_SelectionChanged(object sender, EventArgs e)\n\t\t{\n\t\t\tSelectionChanged?.Invoke(sender, e);\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Handling richtextbox link clicked event  and raising the same event here.\n\t\t/// </summary>\n\t\t/// <param name=\"sender\">object</param>\n\t\t/// <param name=\"e\">EventArgs</param>\n\t\tprivate void T_LinkClicked(object sender, EventArgs e)\n\t\t{\n\t\t\tLinkClicked?.Invoke(sender, e);\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Handling textbox link clicked event and raising the same event here.\n\t\t/// </summary>\n\t\t/// <param name=\"sender\">object</param>\n\t\t/// <param name=\"e\">EventArgs</param>\n\t\tprivate void T_Protected(object sender, EventArgs e)\n\t\t{\n\t\t\tProtected?.Invoke(sender, e);\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Handling richtextbox leave event and raising the same event here.\n\t\t/// </summary>\n\t\t/// <param name=\"sender\">object</param>\n\t\t/// <param name=\"e\">EventArgs</param>\n\t\tpublic void T_Leave(object sender, EventArgs e)\n\t\t{\n\t\t\tbase.OnMouseLeave(e);\n\t\t\tInvalidate();\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Handling mouse leave event of the control.\n\t\t/// </summary>\n\t\t/// <param name=\"e\">EventArgs</param>\n\t\tprotected override void OnMouseLeave(EventArgs e)\n\t\t{\n\t\t\tbase.OnMouseLeave(e);\n\t\t\t_state = MouseMode.Normal;\n\t\t\tInvalidate();\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Handling mouse up event of the control.\n\t\t/// </summary>\n\t\t/// <param name=\"e\">EventArgs</param>\n\t\tprotected override void OnMouseUp(MouseEventArgs e)\n\t\t{\n\t\t\tbase.OnMouseUp(e);\n\t\t\t_state = MouseMode.Hovered;\n\t\t\tInvalidate();\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Handling mouse up event\n\t\t/// </summary>\n\t\t/// <param name=\"sender\">object</param>\n\t\t/// <param name=\"e\">EventArgs</param>\n\t\tpublic void T_MouseUp(object sender, MouseEventArgs e)\n\t\t{\n\t\t\tbase.OnMouseUp(e);\n\t\t\tif (e.Button == MouseButtons.Right)\n\t\t\t{\n\t\t\t\tif (ContextMenuStrip != null)\n\t\t\t\t\tContextMenuStrip.Show(_richTextBox, new Point(e.X, e.Y));\n\t\t\t}\n\t\t\tInvalidate();\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Handling mouse entering event of the control.\n\t\t/// </summary>\n\t\t/// <param name=\"e\">EventArgs</param>\n\t\tprotected override void OnMouseEnter(EventArgs e)\n\t\t{\n\t\t\tbase.OnMouseEnter(e);\n\t\t\t_state = MouseMode.Hovered;\n\t\t\tInvalidate();\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Handling mouse hover event of the control.\n\t\t/// </summary>\n\t\t/// <param name=\"e\">EventArgs</param>\n\t\tprotected override void OnMouseHover(EventArgs e)\n\t\t{\n\t\t\tbase.OnMouseHover(e);\n\t\t\t_state = MouseMode.Hovered;\n\t\t\tInvalidate();\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Handling the mouse hover event on textbox control.\n\t\t/// </summary>\n\t\t/// <param name=\"sender\">object</param>\n\t\t/// <param name=\"e\">EventArgs</param>\n\t\tpublic void T_MouseHover(object sender, EventArgs e)\n\t\t{\n\t\t\tbase.OnMouseHover(e);\n\t\t\tInvalidate();\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Handling the richtextbox size while resizing the control.\n\t\t/// </summary>\n\t\t/// <param name=\"e\">EventArgs</param>\n\t\tprotected override void OnResize(EventArgs e)\n\t\t{\n\t\t\tbase.OnResize(e);\n\t\t\t_richTextBox.Size = new Size(Width - 10, Height - 10);\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Raises the Control.Enter event.\n\t\t/// </summary>\n\t\t/// <param name=\"sender\">object</param>\n\t\t/// <param name=\"e\">EventArgs</param>\n\t\tpublic void T_Enter(object sender, EventArgs e)\n\t\t{\n\t\t\tbase.OnMouseEnter(e);\n\t\t\tInvalidate();\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Handling Keydown event of thextbox control.\n\t\t/// </summary>\n\t\t/// <param name=\"sender\">object</param>\n\t\t/// <param name=\"e\">KeyEventArgs</param>\n\t\tprivate void T_KeyDown(object sender, KeyEventArgs e)\n\t\t{\n\t\t\tif (e.Control && e.KeyCode == Keys.A)\n\t\t\t\te.SuppressKeyPress = true;\n\t\t\tif (e.Control && e.KeyCode == Keys.C)\n\t\t\t{\n\t\t\t\t_richTextBox.Copy();\n\t\t\t\te.SuppressKeyPress = true;\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// An System.EventArgs that contains the event data.\n\t\t/// </summary>\n\t\t/// <param name=\"sender\"></param>\n\t\t/// <param name=\"e\"></param>\n\t\tprivate void T_TextChanged(object sender, EventArgs e)\n\t\t{\n\t\t\tText = _richTextBox.Text;\n\t\t\tTextChanged?.Invoke(this);\n\t\t\tInvalidate();\n\t\t}\n\n\t\t/// <summary>\n\t\t/// override the control creating , here we add the base textbox to the main control.\n\t\t/// </summary>\n\t\tprotected override void OnCreateControl()\n\t\t{\n\t\t\tbase.OnCreateControl();\n\t\t\tif (!Controls.Contains(_richTextBox))\n\t\t\t\tControls.Add(_richTextBox);\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Appends text to the current text of a text box.\n\t\t/// </summary>\n\t\t/// <param name=\"text\"></param>\n\t\tpublic void AppendText(string text)\n\t\t{\n\t\t\tif (_richTextBox != null)\n\t\t\t{\n\t\t\t\t_richTextBox.AppendText(text);\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Undoes the last edit operation in the text box.\n\t\t/// </summary>\n\t\tpublic void Undo()\n\t\t{\n\t\t\tif (_richTextBox != null)\n\t\t\t{\n\t\t\t\tif (_richTextBox.CanUndo)\n\t\t\t\t{\n\t\t\t\t\t_richTextBox.Undo();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Retrieves the line number from the specified character position within the text of the control.\n\t\t/// </summary>\n\t\t/// <param name=\"index\"></param>\n\t\t/// <returns></returns>\n\t\tpublic int GetLineFromCharIndex(int index)\n\t\t{\n\t\t\tif (_richTextBox != null)\n\t\t\t{\n\t\t\t\treturn _richTextBox.GetLineFromCharIndex(index);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Retrieves the location within the control at the specified character index.\n\t\t/// </summary>\n\t\t/// <param name=\"index\"></param>\n\t\t/// <returns></returns>\n\t\tpublic Point GetPositionFromCharIndex(int index)\n\t\t{\n\t\t\treturn _richTextBox.GetPositionFromCharIndex(index);\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Retrieves the index of the character nearest to the specified location.\n\t\t/// </summary>\n\t\t/// <param name=\"pt\"></param>\n\t\t/// <returns></returns>\n\t\tpublic int GetCharIndexFromPosition(Point pt)\n\t\t{\n\t\t\tif (_richTextBox == null)\n\t\t\t\treturn 0;\n\t\t\treturn _richTextBox.GetCharIndexFromPosition(pt);\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Clears information about the most recent operation from the undo buffer of the text box.\n\t\t/// </summary>\n\t\tpublic void ClearUndo()\n\t\t{\n\t\t\tif (_richTextBox == null)\n\t\t\t\treturn;\n\t\t\t_richTextBox.ClearUndo();\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Copies the current selection in the text box to the Clipboard.\n\t\t/// </summary>\n\t\tpublic void Copy()\n\t\t{\n\t\t\tif (_richTextBox == null)\n\t\t\t\treturn;\n\t\t\t_richTextBox.Copy();\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Moves the current selection in the text box to the Clipboard.\n\t\t/// </summary>\n\t\tpublic void Cut()\n\t\t{\n\t\t\tif (_richTextBox == null)\n\t\t\t\treturn;\n\t\t\t_richTextBox.Cut();\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Selects all text in the text box.\n\t\t/// </summary>\n\t\tpublic void SelectAll()\n\t\t{\n\t\t\tif (_richTextBox == null)\n\t\t\t\treturn;\n\t\t\t_richTextBox.SelectAll();\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Specifies that the value of the TextBoxBase.SelectionLength property is zero so that no characters are selected in the control.\n\t\t/// </summary>\n\t\tpublic void DeselectAll()\n\t\t{\n\t\t\tif (_richTextBox == null)\n\t\t\t\treturn;\n\t\t\t_richTextBox.DeselectAll();\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Selects a range of text in the text box.\n\t\t/// </summary>\n\t\t/// <param name=\"start\">The position of the first character in the current text selection within the text box.</param>\n\t\t/// <param name=\"length\">The number of characters to select.</param>\n\t\tpublic void Select(int start, int length)\n\t\t{\n\t\t\tif (_richTextBox == null)\n\t\t\t\treturn;\n\t\t\t_richTextBox.Select(start, length);\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Pastes the contents of the Clipboard in the specified Clipboard format.\n\t\t/// </summary>\n\t\t/// <param name=\"clipFormat\">The Clipboard format in which the data should be obtained from the Clipboard.</param>\n\t\tpublic void Paste(DataFormats.Format clipFormat)\n\t\t{\n\t\t\tif (_richTextBox == null)\n\t\t\t\treturn;\n\t\t\t_richTextBox.Paste(clipFormat);\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Loads a rich text format (RTF) or standard ASCII text file into the control.\n\t\t/// </summary>\n\t\t/// <param name=\"path\">The name and location of the file to load into the control.</param>\n\t\tpublic void LoadFile(string path)\n\t\t{\n\t\t\tif (_richTextBox == null)\n\t\t\t\treturn;\n\t\t\t_richTextBox.LoadFile(path);\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Loads a specific type of file into the control.\n\t\t/// </summary>\n\t\t/// <param name=\"path\">The name and location of the file to load into the control.</param>\n\t\t/// <param name=\"fileType\">One of the System.Windows.Forms.RichTextBoxStreamType values.</param>\n\t\tpublic void LoadFile(string path, RichTextBoxStreamType fileType)\n\t\t{\n\t\t\tif (_richTextBox == null)\n\t\t\t\treturn;\n\t\t\t_richTextBox.LoadFile(path, fileType);\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Loads the contents of an existing data stream into the System.Windows.Forms.RichTextBox control.\n\t\t/// </summary>\n\t\t/// <param name=\"data\">TA stream of data to load into the control.</param>\n\t\t/// <param name=\"fileType\">One of the control StreamType values.</param>\n\t\tpublic void LoadFile(System.IO.Stream data, RichTextBoxStreamType fileType)\n\t\t{\n\t\t\tif (_richTextBox == null)\n\t\t\t\treturn;\n\t\t\t_richTextBox.LoadFile(data, fileType);\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Saves the contents of the control to a rich text format (RTF) file.\n\t\t/// </summary>\n\t\t/// <param name=\"path\">The name and location of the file to save.</param>\n\t\tpublic void SaveFile(string path)\n\t\t{\n\t\t\tif (_richTextBox == null)\n\t\t\t\treturn;\n\t\t\t_richTextBox.SaveFile(path);\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Saves the contents of the control to a specific type of file.\n\t\t/// </summary>\n\t\t/// <param name=\"path\">The name and location of the file to save.</param>\n\t\t/// <param name=\"fileType\">One of the control StreamType values.</param>\n\t\tpublic void SaveFile(string path, RichTextBoxStreamType fileType)\n\t\t{\n\t\t\tif (_richTextBox == null)\n\t\t\t\treturn;\n\t\t\t_richTextBox.SaveFile(path, fileType);\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Saves the contents of the control to an open data stream.\n\t\t/// </summary>\n\t\t/// <param name=\"data\">The data stream that contains the file to save to.</param>\n\t\t/// <param name=\"fileType\">One of the control StreamType values.</param>\n\t\tpublic void SaveFile(System.IO.Stream data, RichTextBoxStreamType fileType)\n\t\t{\n\t\t\tif (_richTextBox == null)\n\t\t\t\treturn;\n\t\t\t_richTextBox.SaveFile(data, fileType);\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Determines whether you can paste information from the Clipboard in the specified data format.\n\t\t/// </summary>\n\t\t/// <param name=\"clipFormat\">clipFormat: One of the System.Windows.Forms.DataFormats.Format values.</param>\n\t\t/// <returns>true if you can paste data from the Clipboard in the specified data format; otherwise, false.</returns>\n\t\tpublic bool CanPaste(DataFormats.Format clipFormat)\n\t\t{\n\t\t\treturn _richTextBox.CanPaste(clipFormat);\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Searches the text of the control for the first instance of a character from a list of characters.\n\t\t/// </summary>\n\t\t/// <param name=\"characterSet\">The array of characters to search for.</param>\n\t\t/// <returns>The location within the control where the search characters were found or -1 if the search characters are not found or an empty search character set is specified in the char parameter.</returns>\n\t\tpublic int Find(char[] characterSet)\n\t\t{\n\t\t\tif (_richTextBox == null)\n\t\t\t\treturn 0;\n\t\t\treturn _richTextBox.Find(characterSet);\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Searches the text of the control, at a specific starting point, for the first instance of a character from a list of characters.\n\t\t/// </summary>\n\t\t/// <param name=\"characterSet\">The array of characters to search for.</param>\n\t\t/// <param name=\"start\">The location within the control's text at which to begin searching.</param>\n\t\t/// <returns>The location within the control where the search characters are found.</returns>\n\t\tpublic int Find(char[] characterSet, int start)\n\t\t{\n\t\t\tif (_richTextBox == null)\n\t\t\t\treturn 0;\n\t\t\treturn _richTextBox.Find(characterSet, start);\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Searches a range of text in the control for the first instance of a character from a list of characters.\n\t\t/// </summary>\n\t\t/// <param name=\"characterSet\">The array of characters to search for.</param>\n\t\t/// <param name=\"start\">The location within the control's text at which to begin searching.</param>\n\t\t/// <param name=\"ends\">The location within the control's text at which to end searching.</param>\n\t\t/// <returns>The location within the control where the search characters are found.</returns>\n\t\tpublic int Find(char[] characterSet, int start, int ends)\n\t\t{\n\t\t\tif (_richTextBox == null)\n\t\t\t\treturn 0;\n\t\t\treturn _richTextBox.Find(characterSet, start, ends);\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Searches the text in the control for a string.\n\t\t/// </summary>\n\t\t/// <param name=\"str\">The text to locate in the control.</param>\n\t\t/// <returns>The location within the control where the search text was found or -1 if the search string is not found or an empty search string is specified in the str parameter.</returns>\n\t\tpublic int Find(string str)\n\t\t{\n\t\t\tif (_richTextBox == null)\n\t\t\t\treturn 0;\n\t\t\treturn _richTextBox.Find(str);\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Searches the text in the control for a string within a range of text within the control and with specific options applied to the search.\n\t\t/// </summary>\n\t\t/// <param name=\"str\">The text to locate in the control.</param>\n\t\t/// <param name=\"start\">The location within the control's text at which to begin searching.</param>\n\t\t/// <param name=\"ends\">The location within the control's text at which to end searching.</param>\n\t\t/// <param name=\"options\">A bitwise combination of the control values.</param>\n\t\t/// <returns>The location within the control where the search text was found.</returns>\n\t\tpublic int Find(string str, int start, int ends, RichTextBoxFinds options)\n\t\t{\n\t\t\tif (_richTextBox == null)\n\t\t\t\treturn 0;\n\t\t\treturn _richTextBox.Find(str, start, ends, options);\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Searches the text in the control for a string at a specific location within the control and with specific options applied to the search.\n\t\t/// </summary>\n\t\t/// <param name=\"str\">The text to locate in the control.</param>\n\t\t/// <param name=\"options\">A bitwise combination of the control values.</param>\n\t\t/// <returns>The location within the control where the search text was found.</returns>\n\t\tpublic int Find(string str, RichTextBoxFinds options)\n\t\t{\n\t\t\tif (_richTextBox == null)\n\t\t\t\treturn 0;\n\t\t\treturn _richTextBox.Find(str, options);\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Searches the text in the control for a string with specific options applied to the search.\n\t\t/// </summary>\n\t\t/// <param name=\"str\">The text to locate in the control.</param>\n\t\t/// <param name=\"start\">The location within the control's text at which to begin searching.</param>\n\t\t/// <param name=\"options\">A bitwise combination of the control values.</param>\n\t\t/// <returns>The location within the control where the search text was found.</returns>\n\t\tpublic int Find(string str, int start, RichTextBoxFinds options)\n\t\t{\n\t\t\tif (_richTextBox == null)\n\t\t\t\treturn 0;\n\t\t\treturn _richTextBox.Find(str, start, options);\n\t\t}\n\n\t\t#endregion Events\n\n\t\t#region Properties\n\n\t\t[Browsable(false), EditorBrowsable(EditorBrowsableState.Never), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]\n\t\tpublic BorderStyle BorderStyle => BorderStyle.None;\n\n\t\t/// <summary>\n\t\t/// Gets or sets how text is aligned in a TextBox control.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets how text is aligned in a RichTextBox control.\")]\n\t\tpublic int MaxLength\n\t\t{\n\t\t\tget => _maxLength;\n\t\t\tset\n\t\t\t{\n\t\t\t\t_maxLength = value;\n\t\t\t\tif (_richTextBox != null)\n\t\t\t\t{\n\t\t\t\t\t_richTextBox.MaxLength = value;\n\t\t\t\t}\n\t\t\t\tInvalidate();\n\t\t\t}\n\t\t}\n\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets the background color of the control.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\t[Description(\"Gets or sets the background color of the control.\")]\n\t\tpublic override Color BackColor\n\t\t{\n\t\t\tget => _backColor;\n\t\t\tset\n\t\t\t{\n\t\t\t\t_backColor = value;\n\t\t\t\t_richTextBox.BackColor = value;\n\t\t\t\tInvalidate();\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets the color of the control whenever hovered.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\t[Description(\"Gets or sets the color of the control whenever hovered.\")]\n\t\tpublic Color HoverColor\n\t\t{\n\t\t\tget => _hoverColor;\n\t\t\tset\n\t\t\t{\n\t\t\t\t_hoverColor = value;\n\t\t\t\tInvalidate();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets the border color of the control.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\t[Description(\"Gets or sets the border color of the control.\")]\n\t\tpublic Color BorderColor\n\t\t{\n\t\t\tget => _borderColor;\n\t\t\tset\n\t\t\t{\n\t\t\t\t_borderColor = value;\n\t\t\t\tInvalidate();\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets the foreground color of the control.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\t[Description(\"Gets or sets the foreground color of the control.\")]\n\t\t[Browsable(false)]\n\t\tpublic override Color ForeColor\n\t\t{\n\t\t\tget => _foreColor;\n\t\t\tset\n\t\t\t{\n\t\t\t\t_foreColor = value;\n\t\t\t\t_richTextBox.ForeColor = value;\n\t\t\t\tInvalidate();\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets a value indicating whether text in the text box is read-only.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets a value indicating whether text in the RichTextBox is read-only.\")]\n\t\tpublic bool ReadOnly\n\t\t{\n\t\t\tget => _readOnly;\n\t\t\tset\n\t\t\t{\n\t\t\t\t_readOnly = value;\n\t\t\t\tif (_richTextBox != null)\n\t\t\t\t{\n\t\t\t\t\t_richTextBox.ReadOnly = value;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets the background image.\n\t\t/// </summary>\n\t\t[Browsable(false), EditorBrowsable(EditorBrowsableState.Never), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]\n\t\tpublic override Image BackgroundImage => null;\n\n\t\t/// <summary>\n\t\t/// Gets or sets the current text in the TextBox.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the current text in the RichTextBox.\")]\n\t\tpublic override string Text\n\t\t{\n\t\t\tget => _richTextBox.Text;\n\t\t\tset\n\t\t\t{\n\t\t\t\tbase.Text = value;\n\t\t\t\tif (_richTextBox != null)\n\t\t\t\t{\n\t\t\t\t\t_richTextBox.Text = value;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets the font of the text displayed by the control.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the font of the text displayed by the control.\")]\n\t\tpublic override Font Font\n\t\t{\n\t\t\tget => base.Font;\n\t\t\tset\n\t\t\t{\n\t\t\t\tbase.Font = value;\n\t\t\t\tif (_richTextBox == null)\n\t\t\t\t\treturn;\n\t\t\t\t_richTextBox.Font = value;\n\t\t\t\t_richTextBox.Location = new Point(5, 5);\n\t\t\t\t_richTextBox.Width = Width - 8;\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Indicates whether a multiline text box control automatically wraps words to the beginning of the next line when necessary.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Indicates whether a multiline text box control automatically wraps words to the beginning of the next line when necessary.\")]\n\t\tpublic bool WordWrap\n\t\t{\n\t\t\tget => _wordWrap;\n\t\t\tset\n\t\t\t{\n\t\t\t\t_wordWrap = value;\n\t\t\t\tif (_richTextBox != null)\n\t\t\t\t{\n\t\t\t\t\t_richTextBox.WordWrap = value;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets a value indicating whether automatic word selection is enabled.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets a value indicating whether automatic word selection is enabled.\")]\n\t\tpublic bool AutoWordSelection\n\t\t{\n\t\t\tget => _autoWordSelection;\n\t\t\tset\n\t\t\t{\n\t\t\t\t_autoWordSelection = value;\n\t\t\t\tif (_richTextBox != null)\n\t\t\t\t{\n\t\t\t\t\t_richTextBox.AutoWordSelection = value;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets the lines of text in the control.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the lines of text in the control.\")]\n\t\tpublic string[] Lines\n\t\t{\n\t\t\tget => _lines;\n\t\t\tset\n\t\t\t{\n\t\t\t\t_lines = value;\n\t\t\t\tif (_richTextBox != null)\n\t\t\t\t\t_richTextBox.Lines = value;\n\t\t\t\tInvalidate();\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets the ContextMenuStrip associated with this control.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the ContextMenuStrip associated with this control.\")]\n\t\tpublic override ContextMenuStrip ContextMenuStrip\n\t\t{\n\t\t\tget => base.ContextMenuStrip;\n\t\t\tset\n\t\t\t{\n\t\t\t\tbase.ContextMenuStrip = value;\n\t\t\t\tif (_richTextBox == null)\n\t\t\t\t\treturn;\n\t\t\t\t_richTextBox.ContextMenuStrip = value;\n\t\t\t\tInvalidate();\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets back color used by the control while disabled.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\t[Description(\"Gets or sets back color used by the control while disabled.\")]\n\t\tpublic Color DisabledBackColor\n\t\t{\n\t\t\tget { return _disabledBackColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_disabledBackColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets the fore color of the control whenever while disabled.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\t[Description(\"Gets or sets the fore color of the control whenever while disabled\")]\n\t\tpublic Color DisabledForeColor\n\t\t{\n\t\t\tget { return _disabledForeColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_disabledForeColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets the border color of the control while disabled.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\t[Description(\"Gets or sets the border color of the control while disabled.\")]\n\t\tpublic Color DisabledBorderColor\n\t\t{\n\t\t\tget { return _disabledBorderColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_disabledBorderColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\t\tprivate bool _isDerivedStyle = true;\n\n\t\t/// <summary>\n\t\t/// Gets or sets the whether this control reflect to parent form style.\n\t\t/// Set it to false if you want the style of this control be independent. \n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\t[Description(\"Gets or sets the whether this control reflect to parent(s) style. \\n \" +\n\t\t\t\t\t \"Set it to false if you want the style of this control be independent. \")]\n\t\tpublic bool IsDerivedStyle\n\t\t{\n\t\t\tget { return _isDerivedStyle; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_isDerivedStyle = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t#endregion Properties\n\n\t}\n}"
  },
  {
    "path": "MetroSet UI/Controls/MetroSetScrollBar.cs",
    "content": "﻿/*\n* MetroSet UI - MetroSet UI Framework\n* \n* The MIT License (MIT)\n* Copyright (c) 2017 Narwin, https://github.com/N-a-r-w-i-n\n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of \n* this software and associated documentation files (the \"Software\"), to deal in the \n* Software without restriction, including without limitation the rights to use, copy, \n* modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, \n* and to permit persons to whom the Software is furnished to do so, subject to the \n* following conditions:\n* \n* The above copyright notice and this permission notice shall be included in \n* all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, \n* INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A \n* PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT \n* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF \n* CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE \n* OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n*/\n\nusing System;\nusing System.ComponentModel;\nusing System.Drawing;\nusing System.Windows.Forms;\nusing MetroSet_UI.Components;\nusing MetroSet_UI.Design;\nusing MetroSet_UI.Enums;\nusing MetroSet_UI.Extensions;\nusing MetroSet_UI.Interfaces;\nnamespace MetroSet_UI.Controls\n{\n\t[ToolboxItem(true)]\n\t[ToolboxBitmap(typeof(MetroSetScrollBar), \"Bitmaps.ScrollBar.bmp\")]\n\t[Designer(typeof(MetroSetScrollBarDesigner))]\n\t[DefaultEvent(\"Scroll\")]\n\t[DefaultProperty(\"Value\")]\n\tpublic class MetroSetScrollBar : Control, IMetroSetControl\n\t{\n\n\t\t#region Interfaces\n\n\t\t/// <summary>\n\t\t/// Gets or sets the style associated with the control.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the style associated with the control.\")]\n\t\tpublic Style Style\n\t\t{\n\t\t\tget => StyleManager?.Style ?? _style;\n\t\t\tset\n\t\t\t{\n\t\t\t\t_style = value;\n\t\t\t\tswitch (value)\n\t\t\t\t{\n\t\t\t\t\tcase Style.Light:\n\t\t\t\t\t\tApplyTheme();\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase Style.Dark:\n\t\t\t\t\t\tApplyTheme(Style.Dark);\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase Style.Custom:\n\t\t\t\t\t\tApplyTheme(Style.Custom);\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tApplyTheme();\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tInvalidate();\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets the Style Manager associated with the control.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the Style Manager associated with the control.\")]\n\t\tpublic StyleManager StyleManager\n\t\t{\n\t\t\tget => _styleManager;\n\t\t\tset { _styleManager = value; Invalidate(); }\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets the The Author name associated with the theme.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the The Author name associated with the theme.\")]\n\t\tpublic string ThemeAuthor { get; set; }\n\n\t\t/// <summary>\n\t\t/// Gets or sets the The Theme name associated with the theme.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the The Theme name associated with the theme.\")]\n\t\tpublic string ThemeName { get; set; }\n\n\t\t#endregion Interfaces\n\n\t\t#region Global Vars\n\n\t\tprivate readonly Utilites _utl;\n\n\t\t#endregion Global Vars\n\n\t\t#region Internal Vars\n\n\t\tprivate Style _style;\n\t\tprivate StyleManager _styleManager;\n\t\tprivate int _minimum;\n\t\tprivate int _maximum;\n\t\tprivate int _value;\n\t\tprivate int _val;\n\t\tprivate Rectangle _bar;\n\t\tprivate Rectangle _thumb;\n\t\tprivate bool _showThumb;\n\t\tprivate int _thumbSize;\n\t\tprivate MouseMode _thumbState;\n\n\t\tprivate int _smallChange;\n\t\tprivate int _largeChange;\n\t\tprivate ScrollOrientate _orientation;\n\t\tprivate Color _disabledForeColor;\n\t\tprivate Color _disabledBackColor;\n\n\t\t#endregion Internal Vars\n\n\t\t#region Constructors\n\n\t\tpublic MetroSetScrollBar()\n\t\t{\n\t\t\tSetStyle(\n\t\t\t\tControlStyles.OptimizedDoubleBuffer |\n\t\t\t\tControlStyles.AllPaintingInWmPaint |\n\t\t\t\tControlStyles.ResizeRedraw |\n\t\t\t\tControlStyles.UserPaint |\n\t\t\t\tControlStyles.Selectable |\n\t\t\t\tControlStyles.SupportsTransparentBackColor, true);\n\t\t\tUpdateStyles();\n\t\t\tSetDefaults();\n\t\t\t_utl = new Utilites();\n\t\t\tApplyTheme();\n\n\t\t}\n\n\t\tvoid SetDefaults()\n\t\t{\n\t\t\t_minimum = 0;\n\t\t\t_maximum = 100;\n\t\t\t_value = 0;\n\t\t\t_thumbSize = 20;\n\t\t}\n\n\t\t#endregion Constructors\n\n\t\t#region ApplyTheme\n\n\t\t/// <summary>\n\t\t/// Gets or sets the style provided by the user.\n\t\t/// </summary>\n\t\t/// <param name=\"style\">The Style.</param>\n\t\tprivate void ApplyTheme(Style style = Style.Light)\n\t\t{\n\t\t\tif (!IsDerivedStyle)\n\t\t\t\treturn;\n\n\t\t\tswitch (style)\n\t\t\t{\n\t\t\t\tcase Style.Light:\n\t\t\t\t\tForeColor = Color.FromArgb(65, 177, 225);\n\t\t\t\t\tBackColor = Color.White;\n\t\t\t\t\tDisabledBackColor = Color.FromArgb(204, 204, 204);\n\t\t\t\t\tDisabledForeColor = Color.FromArgb(136, 136, 136);\n\t\t\t\t\tThemeAuthor = \"Narwin\";\n\t\t\t\t\tThemeName = \"MetroLite\";\n\t\t\t\t\tUpdateProperties();\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase Style.Dark:\n\t\t\t\t\tForeColor = Color.FromArgb(65, 177, 225);\n\t\t\t\t\tBackColor = Color.FromArgb(30, 30, 30);\n\t\t\t\t\tDisabledBackColor = Color.FromArgb(80, 80, 80);\n\t\t\t\t\tDisabledForeColor = Color.FromArgb(109, 109, 109);\n\t\t\t\t\tThemeAuthor = \"Narwin\";\n\t\t\t\t\tThemeName = \"MetroDark\";\n\t\t\t\t\tUpdateProperties();\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase Style.Custom:\n\t\t\t\t\tif (StyleManager != null)\n\t\t\t\t\t\tforeach (var varkey in StyleManager.ScrollBarDictionary)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tswitch (varkey.Key)\n\t\t\t\t\t\t\t{\n\n\t\t\t\t\t\t\t\tcase \"ForeColor\":\n\t\t\t\t\t\t\t\t\tForeColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tcase \"BackColor\":\n\t\t\t\t\t\t\t\t\tBackColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tcase \"DisabledBackColor\":\n\t\t\t\t\t\t\t\t\tDisabledBackColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tcase \"DisabledForeColor\":\n\t\t\t\t\t\t\t\t\tDisabledForeColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\tUpdateProperties();\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tthrow new ArgumentOutOfRangeException(nameof(style), style, null);\n\t\t\t}\n\t\t}\n\n\t\tpublic void UpdateProperties()\n\t\t{\n\t\t\tInvalidate();\n\t\t}\n\n\t\t#endregion Theme Changing\n\n\t\t#region Draw Control\n\n\t\tprotected override void OnPaint(PaintEventArgs e)\n\t\t{\n\t\t\tvar g = e.Graphics;\n\n\t\t\tvar r = new Rectangle(0, 0, Width, Height);\n\n\t\t\tusing (var bg = new SolidBrush(Enabled ? BackColor : DisabledBackColor))\n\t\t\t{\n\t\t\t\tusing (var thumbBrush = new SolidBrush(Enabled ? ForeColor : DisabledForeColor))\n\t\t\t\t{\n\t\t\t\t\tg.FillRectangle(bg, r);\n\t\t\t\t\tg.FillRectangle(thumbBrush, _thumb);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t#endregion\n\n\t\t#region Properties\n\n\t\t/// <summary>\n\t\t/// Gets or sets the lower limit of the scrollable range.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the lower limit of the scrollable range.\")]\n\t\tpublic int Minimum\n\t\t{\n\t\t\tget => _minimum;\n\t\t\tset\n\t\t\t{\n\t\t\t\t_minimum = value;\n\t\t\t\tif (value > _value)\n\t\t\t\t{\n\t\t\t\t\t_value = value;\n\t\t\t\t}\n\t\t\t\telse if (value > _maximum)\n\t\t\t\t{\n\t\t\t\t\t_maximum = value;\n\t\t\t\t}\n\t\t\t\tInvalidateLayout();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets the upper limit of the scrollable range.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the upper limit of the scrollable range.\")]\n\t\tpublic int Maximum\n\t\t{\n\t\t\tget => _maximum;\n\t\t\tset\n\t\t\t{\n\t\t\t\tif (value < _value)\n\t\t\t\t{\n\t\t\t\t\t_value = value;\n\t\t\t\t}\n\t\t\t\telse if (value > _minimum)\n\t\t\t\t{\n\t\t\t\t\t_maximum = value;\n\t\t\t\t}\n\n\t\t\t\tif (Orientation != ScrollOrientate.Vertical)\n\t\t\t\t{\n\t\t\t\t\tif (Orientation == ScrollOrientate.Horizontal)\n\t\t\t\t\t{\n\t\t\t\t\t\t_thumbSize = value > Width ? Convert.ToInt32(Width * (Width / (double)_maximum)) : 0;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\t_thumbSize = value > Height ? Convert.ToInt32(Height * (Height / (double)_maximum)) : 0;\n\t\t\t\t}\n\n\t\t\t\tInvalidateLayout();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets a numeric value that represents the current position of the scroll bar box.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets a numeric value that represents the current position of the scroll bar box.\")]\n\t\tpublic int Value\n\t\t{\n\t\t\tget => _value;\n\t\t\tset\n\t\t\t{\n\t\t\t\tif (value > Maximum)\n\t\t\t\t{\n\t\t\t\t\t_value = Maximum;\n\t\t\t\t}\n\t\t\t\telse if (value < Minimum)\n\t\t\t\t{\n\t\t\t\t\t_value = Minimum;\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\t_value = value;\n\t\t\t\t}\n\t\t\t\tInvalidatePosition();\n\t\t\t\tScroll?.Invoke(this);\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets the distance to move a scroll bar in response to a small scroll command.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the distance to move a scroll bar in response to a small scroll command.\")]\n\t\t[DefaultValue(1)]\n\t\tpublic int SmallChange\n\t\t{\n\t\t\tget { return _smallChange; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_smallChange = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets the distance to move a scroll bar in response to a large scroll command.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the distance to move a scroll bar in response to a large scroll command.\")]\n\t\t[DefaultValue(10)]\n\t\tpublic int LargeChange\n\t\t{\n\t\t\tget { return _largeChange; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_largeChange = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets the scroll bar orientation.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the scroll bar orientation.\")]\n\t\t[DefaultValue(ScrollOrientate.Horizontal)]\n\t\tpublic ScrollOrientate Orientation\n\t\t{\n\t\t\tget { return _orientation; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_orientation = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets fore color used by the control\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the scroll bar forecolor.\")]\n\t\tpublic override Color ForeColor { get; set; }\n\n\t\t/// <summary>\n\t\t/// Gets or sets back color used by the control\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets backcolor used by the control.\")]\n\t\tpublic override Color BackColor { get; set; }\n\n\t\t/// <summary>\n\t\t/// Gets or sets disabled fore color used by the control\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets disabled forecolor used by the control.\")]\n\t\tpublic Color DisabledForeColor\n\t\t{\n\t\t\tget { return _disabledForeColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_disabledForeColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets disabled back color used by the control\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets disabled backcolor used by the control.\")]\n\t\tpublic Color DisabledBackColor\n\t\t{\n\t\t\tget { return _disabledBackColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_disabledBackColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\t\tprivate bool _isDerivedStyle = true;\n\n\t\t/// <summary>\n\t\t/// Gets or sets the whether this control reflect to parent form style.\n\t\t/// Set it to false if you want the style of this control be independent. \n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\t[Description(\"Gets or sets the whether this control reflect to parent(s) style. \\n \" +\n\t\t\t\t\t \"Set it to false if you want the style of this control be independent. \")]\n\t\tpublic bool IsDerivedStyle\n\t\t{\n\t\t\tget { return _isDerivedStyle; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_isDerivedStyle = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t#endregion\n\n\t\t#region Events\n\n\t\tprotected override void OnSizeChanged(EventArgs e)\n\t\t{\n\t\t\tInvalidateLayout();\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Updating the thumb rectangle.\n\t\t/// </summary>\n\t\tprivate void InvalidateLayout()\n\t\t{\n\t\t\t_bar = new Rectangle(0, 0, Width, Height);\n\t\t\t_showThumb = Maximum - Minimum > 0;\n\t\t\tswitch (Orientation)\n\t\t\t{\n\t\t\t\tcase ScrollOrientate.Vertical:\n\t\t\t\t\tif (_showThumb)\n\t\t\t\t\t\t_thumb = new Rectangle(0, 0, Width, _thumbSize);\n\t\t\t\t\tbreak;\n\t\t\t\tcase ScrollOrientate.Horizontal:\n\t\t\t\t\tif (_showThumb)\n\t\t\t\t\t\t_thumb = new Rectangle(0, 0, Width, _thumbSize);\n\t\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tScroll?.Invoke(this);\n\t\t\tInvalidatePosition();\n\t\t}\n\n\t\tpublic event ScrollEventHandler Scroll;\n\n\t\tpublic delegate void ScrollEventHandler(object sender);\n\n\t\t/// <summary>\n\t\t/// Updating the thumb location.\n\t\t/// </summary>\n\t\tprivate void InvalidatePosition()\n\t\t{\n\t\t\tswitch (Orientation)\n\t\t\t{\n\t\t\t\tcase ScrollOrientate.Vertical:\n\t\t\t\t\t_thumb.Y = Convert.ToInt32(CurrentValue() * (_bar.Height - _thumbSize));\n\t\t\t\t\tbreak;\n\t\t\t\tcase ScrollOrientate.Horizontal:\n\t\t\t\t\t_thumb.X = Convert.ToInt32(CurrentValue() * (_bar.Width - _thumbSize));\n\t\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tInvalidate();\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Handling mouse down event so that we set the state of the thumb to pressed and ready to move.\n\t\t/// </summary>\n\t\t/// <param name=\"e\">MouseEventArgs</param>\n\t\tprotected override void OnMouseDown(MouseEventArgs e)\n\t\t{\n\t\t\tbase.OnMouseDown(e);\n\t\t\tif (e.Button != MouseButtons.Left || !_showThumb)\n\t\t\t\treturn;\n\t\t\tif (_thumb.Contains(e.Location))\n\t\t\t{\n\t\t\t\t_thumbState = MouseMode.Pushed;\n\t\t\t\tInvalidate();\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tswitch (Orientation)\n\t\t\t{\n\t\t\t\tcase ScrollOrientate.Vertical:\n\t\t\t\t\t_val = e.Y < _thumb.Y ? Value - LargeChange : Value + LargeChange;\n\t\t\t\t\tbreak;\n\t\t\t\tcase ScrollOrientate.Horizontal:\n\t\t\t\t\t_val = e.X < _thumb.X ? Value - LargeChange : Value + LargeChange;\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tthrow new ArgumentOutOfRangeException();\n\t\t\t}\n\n\t\t\tValue = Math.Min(Math.Max(_val, Minimum), Maximum);\n\t\t\tInvalidatePosition();\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Handling the mouse move event so that we can set the value of the thumb.\n\t\t/// </summary>\n\t\t/// <param name=\"e\">MouseEventArgs</param>\n\t\tprotected override void OnMouseMove(MouseEventArgs e)\n\t\t{\n\t\t\tif (!(_thumbState == MouseMode.Pushed | !_showThumb))\n\t\t\t\treturn;\n\t\t\tint thumbPosition;\n\t\t\tint thumbBounds;\n\t\t\tswitch (Orientation)\n\t\t\t{\n\t\t\t\tcase ScrollOrientate.Vertical:\n\t\t\t\t\tthumbPosition = e.Y - _thumbSize / 2;\n\t\t\t\t\tthumbBounds = _bar.Height - _thumbSize;\n\t\t\t\t\t_val = Convert.ToInt32((double)thumbPosition / thumbBounds * (Maximum - Minimum)) - Minimum;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase ScrollOrientate.Horizontal:\n\t\t\t\t\tthumbPosition = e.X - _thumbSize / 2;\n\t\t\t\t\tthumbBounds = _bar.Width - _thumbSize;\n\t\t\t\t\t_val = Convert.ToInt32((double)thumbPosition / thumbBounds * (Maximum - Minimum)) - Minimum;\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tthrow new ArgumentOutOfRangeException();\n\t\t\t}\n\n\t\t\tValue = Math.Min(Math.Max(_val, Minimum), Maximum);\n\t\t\tInvalidatePosition();\n\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Handling the mouse up event and determine the state of the thumb.\n\t\t/// </summary>\n\t\t/// <param name=\"e\">MouseEventArgs</param>\n\t\tprotected override void OnMouseUp(MouseEventArgs e)\n\t\t{\n\t\t\t_thumbState = _thumb.Contains(e.Location) ? MouseMode.Hovered : MouseMode.Normal;\n\t\t\tswitch (Orientation)\n\t\t\t{\n\t\t\t\tcase ScrollOrientate.Vertical:\n\t\t\t\t\t_thumbState = (e.Location.Y < 16) | (e.Location.Y > Width - 16) ? MouseMode.Hovered : MouseMode.Normal;\n\t\t\t\t\tbreak;\n\t\t\t\tcase ScrollOrientate.Horizontal:\n\t\t\t\t\t_thumbState = e.Location.X < 16 | e.Location.X > Width - 16 ? MouseMode.Hovered : MouseMode.Normal;\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tthrow new ArgumentOutOfRangeException();\n\t\t\t}\n\t\t\tInvalidate();\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Handling the mouse leave event and releasing the thumb state.\n\t\t/// </summary>\n\t\t/// <param name=\"e\">EventArgs</param>\n\t\tprotected override void OnMouseLeave(EventArgs e)\n\t\t{\n\t\t\t_thumbState = MouseMode.Normal;\n\t\t\tInvalidate();\n\t\t}\n\n\t\t/// <summary>\n\t\t/// The Method for finding out the current value of the scrollbar.\n\t\t/// </summary>\n\t\t/// <returns>the Current value of the scrollbar.</returns>\n\t\tprivate double CurrentValue()\n\t\t{\n\t\t\treturn (double)(Value - Minimum) / (Maximum - Minimum);\n\t\t}\n\n\t\t#endregion\n\n\t}\n\n\n\n}"
  },
  {
    "path": "MetroSet UI/Controls/MetroSetSwitch.cs",
    "content": "﻿/*\n* MetroSet UI - MetroSet UI Framework\n* \n* The MIT License (MIT)\n* Copyright (c) 2017 Narwin, https://github.com/N-a-r-w-i-n\n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of \n* this software and associated documentation files (the \"Software\"), to deal in the \n* Software without restriction, including without limitation the rights to use, copy, \n* modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, \n* and to permit persons to whom the Software is furnished to do so, subject to the \n* following conditions:\n* \n* The above copyright notice and this permission notice shall be included in \n* all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, \n* INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A \n* PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT \n* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF \n* CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE \n* OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n*/\n\nusing System;\nusing System.ComponentModel;\nusing System.Drawing;\nusing System.Drawing.Text;\nusing System.Runtime.InteropServices;\nusing System.Windows.Forms;\nusing MetroSet_UI.Animates;\nusing MetroSet_UI.Components;\nusing MetroSet_UI.Design;\nusing MetroSet_UI.Enums;\nusing MetroSet_UI.Extensions;\nusing MetroSet_UI.Interfaces;\n\nnamespace MetroSet_UI.Controls\n{\n\t[ToolboxItem(true)]\n\t[ToolboxBitmap(typeof(MetroSetSwitch), \"Bitmaps.Switch.bmp\")]\n\t[Designer(typeof(MetroSetSwitchDesigner))]\n\t[DefaultEvent(\"SwitchedChanged\")]\n\t[DefaultProperty(\"Switched\")]\n\t[ComVisible(true)]\n\tpublic class MetroSetSwitch : Control, IMetroSetControl, IDisposable\n\t{\n\t\t#region Interfaces\n\n\t\t/// <summary>\n\t\t/// Gets or sets the style associated with the control.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the style associated with the control.\")]\n\t\tpublic Style Style\n\t\t{\n\t\t\tget => StyleManager?.Style ?? _style;\n\t\t\tset\n\t\t\t{\n\t\t\t\t_style = value;\n\t\t\t\tswitch (value)\n\t\t\t\t{\n\t\t\t\t\tcase Style.Light:\n\t\t\t\t\t\tApplyTheme();\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase Style.Dark:\n\t\t\t\t\t\tApplyTheme(Style.Dark);\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase Style.Custom:\n\t\t\t\t\t\tApplyTheme(Style.Custom);\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tApplyTheme();\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tInvalidate();\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets the Style Manager associated with the control.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the Style Manager associated with the control.\")]\n\t\tpublic StyleManager StyleManager\n\t\t{\n\t\t\tget => _styleManager;\n\t\t\tset { _styleManager = value; Invalidate(); }\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets the The Author name associated with the theme.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the The Author name associated with the theme.\")]\n\t\tpublic string ThemeAuthor { get; set; }\n\n\t\t/// <summary>\n\t\t/// Gets or sets the The Theme name associated with the theme.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the The Theme name associated with the theme.\")]\n\t\tpublic string ThemeName { get; set; }\n\n\t\t#endregion Interfaces\n\n\t\t#region Global Vars\n\n\t\tprivate readonly Utilites _utl;\n\n\t\t#endregion Global Vars\n\n\t\t#region Internal Vars\n\n\t\tprivate StyleManager _styleManager;\n\t\tprivate bool _switched;\n\t\tprivate Style _style;\n\t\tprivate int _switchLocation;\n\t\tprivate readonly IntAnimate _animator;\n\n\t\tprivate Enums.CheckState _checkState;\n\t\tprivate Color _borderColor;\n\t\tprivate Color _checkColor;\n\t\tprivate Color _disabledBorderColor;\n\t\tprivate Color _disabledCheckColor;\n\t\tprivate Color _disabledUnCheckColor;\n\t\tprivate Color _backgroundColor;\n\t\tprivate Color _symbolColor;\n\t\tprivate Color _unCheckColor;\n\n\t\t#endregion Internal Vars\n\n\t\t#region Constructors\n\n\t\tpublic MetroSetSwitch()\n\t\t{\n\t\t\tSetStyle(\n\t\t\t\tControlStyles.ResizeRedraw |\n\t\t\t\tControlStyles.OptimizedDoubleBuffer |\n\t\t\t\tControlStyles.SupportsTransparentBackColor, true);\n\t\t\tUpdateStyles();\n\t\t\tbase.Cursor = Cursors.Hand;\n\t\t\t_utl = new Utilites();\n\t\t\t_animator = new IntAnimate();\n\t\t\t_animator.Setting(100, 0, 132);\n\t\t\t_animator.Update = (alpha) =>\n\t\t\t{\n\t\t\t\t_switchLocation = alpha;\n\t\t\t\tInvalidate(false);\n\t\t\t};\n\t\t\tApplyTheme();\n\t\t}\n\n\t\t#endregion Constructors\n\n\t\t#region ApplyTheme\n\n\t\tprivate void UpdateProperties()\n\t\t{\n\t\t\tInvalidate();\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets the style provided by the user.\n\t\t/// </summary>\n\t\t/// <param name=\"style\">The Style.</param>\n\t\tprivate void ApplyTheme(Style style = Style.Light)\n\t\t{\n\t\t\tif (!IsDerivedStyle)\n\t\t\t\treturn;\n\n\t\t\tswitch (style)\n\t\t\t{\n\t\t\t\tcase Style.Light:\n\t\t\t\t\tForeColor = Color.Black;\n\t\t\t\t\tBackColor = Color.White;\n\t\t\t\t\tBorderColor = Color.FromArgb(165, 159, 147);\n\t\t\t\t\tDisabledBorderColor = Color.FromArgb(205, 205, 205);\n\t\t\t\t\tSymbolColor = Color.FromArgb(92, 92, 92);\n\t\t\t\t\tUnCheckColor = Color.FromArgb(155, 155, 155);\n\t\t\t\t\tCheckColor = Color.FromArgb(65, 177, 225);\n\t\t\t\t\tDisabledUnCheckColor = Color.FromArgb(200, 205, 205, 205);\n\t\t\t\t\tDisabledCheckColor = Color.FromArgb(100, 65, 177, 225);\n\t\t\t\t\tThemeAuthor = \"Narwin\";\n\t\t\t\t\tThemeName = \"MetroLite\";\n\t\t\t\t\tUpdateProperties();\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase Style.Dark:\n\t\t\t\t\tForeColor = Color.FromArgb(170, 170, 170);\n\t\t\t\t\tBackColor = Color.FromArgb(30, 30, 30);\n\t\t\t\t\tBorderColor = Color.FromArgb(155, 155, 155);\n\t\t\t\t\tDisabledBorderColor = Color.FromArgb(85, 85, 85);\n\t\t\t\t\tSymbolColor = Color.FromArgb(92, 92, 92);\n\t\t\t\t\tUnCheckColor = Color.FromArgb(155, 155, 155);\n\t\t\t\t\tCheckColor = Color.FromArgb(65, 177, 225);\n\t\t\t\t\tDisabledUnCheckColor = Color.FromArgb(200, 205, 205, 205);\n\t\t\t\t\tDisabledCheckColor = Color.FromArgb(100, 65, 177, 225);\n\t\t\t\t\tThemeAuthor = \"Narwin\";\n\t\t\t\t\tThemeName = \"MetroDark\";\n\t\t\t\t\tUpdateProperties();\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase Style.Custom:\n\n\t\t\t\t\tif (StyleManager != null)\n\t\t\t\t\t\tforeach (var varkey in StyleManager.SwitchBoxDictionary)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tswitch (varkey.Key)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tcase \"BackColor\":\n\t\t\t\t\t\t\t\t\tBackColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tcase \"BorderColor\":\n\t\t\t\t\t\t\t\t\tBorderColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tcase \"DisabledBorderColor\":\n\t\t\t\t\t\t\t\t\tDisabledBorderColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tcase \"SymbolColor\":\n\t\t\t\t\t\t\t\t\tSymbolColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tcase \"UnCheckColor\":\n\t\t\t\t\t\t\t\t\tUnCheckColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tcase \"CheckColor\":\n\t\t\t\t\t\t\t\t\tCheckColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tcase \"DisabledUnCheckColor\":\n\t\t\t\t\t\t\t\t\tDisabledUnCheckColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tcase \"DisabledCheckColor\":\n\t\t\t\t\t\t\t\t\tDisabledCheckColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\tUpdateProperties();\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tthrow new ArgumentOutOfRangeException(nameof(style), style, null);\n\t\t\t}\n\t\t}\n\n\t\t#endregion ApplyTheme\n\n\t\t#region Draw Control\n\n\t\tprotected override void OnPaint(PaintEventArgs e)\n\t\t{\n\t\t\tvar g = e.Graphics;\n\t\t\tg.TextRenderingHint = TextRenderingHint.ClearTypeGridFit;\n\n\t\t\tvar rect = new Rectangle(1, 1, 56, 20);\n\n\t\t\tvar rect2 = new Rectangle(3, 3, 52, 16);\n\n\t\t\tusing (var backBrush = new SolidBrush(BackgroundColor))\n\t\t\t{\n\t\t\t\tusing (var checkback = new SolidBrush(Enabled ? Switched ? CheckColor : UnCheckColor : Switched ? DisabledCheckColor : DisabledUnCheckColor))\n\t\t\t\t{\n\t\t\t\t\tusing (var checkMarkBrush = new SolidBrush(SymbolColor))\n\t\t\t\t\t{\n\t\t\t\t\t\tusing (var p = new Pen(Enabled ? BorderColor : DisabledBorderColor, 2))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tg.FillRectangle(backBrush, rect);\n\n\t\t\t\t\t\t\tg.FillRectangle(checkback, rect2);\n\n\t\t\t\t\t\t\tg.DrawRectangle(p, rect);\n\n\t\t\t\t\t\t\tg.FillRectangle(checkMarkBrush, new Rectangle((Convert.ToInt32(rect.Width * (_switchLocation / 180.0))), 0, 16, 22));\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t#endregion Draw Control\n\n\t\t#region Events\n\n\t\tpublic delegate void SwitchedChangedEventHandler(object sender);\n\n\t\tpublic event SwitchedChangedEventHandler SwitchedChanged;\n\n\t\t/// <summary>\n\t\t/// Here we will handle the checking state in runtime.\n\t\t/// </summary>\n\t\t/// <param name=\"e\">EventArgs</param>\n\t\tprotected override void OnClick(EventArgs e)\n\t\t{\n\t\t\tbase.OnClick(e);\n\t\t\tSwitched = !Switched;\n\t\t\tInvalidate();\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Here we will set the limited height for the control to avoid high and low of the text drawing.\n\t\t/// </summary>\n\t\t/// <param name=\"e\">EventArgs</param>\n\t\tprotected override void OnResize(EventArgs e)\n\t\t{\n\t\t\tbase.OnResize(e);\n\t\t\tSize = new Size(58, 22);\n\t\t\tInvalidate();\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Here we set the smooth mouse hand.\n\t\t/// </summary>\n\t\t/// <param name=\"m\"></param>\n\t\tprotected override void WndProc(ref Message m)\n\t\t{\n\t\t\t_utl.SmoothCursor(ref m);\n\n\t\t\tbase.WndProc(ref m);\n\t\t}\n\n\t\t#endregion Events\n\n\t\t#region Properties\n\n\t\t/// <summary>\n\t\t/// Specifies the state of a control, such as a check box, that can be checked, unchecked.\n\t\t/// </summary>\n\t\t[Browsable(false)]\n\t\tpublic Enums.CheckState CheckState\n\t\t{\n\t\t\tget { return _checkState; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_checkState = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets a value indicating whether the control is checked.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets a value indicating whether the control is checked.\")]\n\t\tpublic bool Switched\n\t\t{\n\t\t\tget => _switched;\n\t\t\tset\n\t\t\t{\n\t\t\t\t_switched = value;\n\t\t\t\tSwitchedChanged?.Invoke(this);\n\t\t\t\t_animator.Reverse(!value);\n\t\t\t\tCheckState = value != true ? Enums.CheckState.Unchecked : Enums.CheckState.Checked;\n\t\t\t\tInvalidate();\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets the border color.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the border color.\")]\n\t\tpublic Color BorderColor\n\t\t{\n\t\t\tget { return _borderColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_borderColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets the Checked backColor.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the Checkd backColor.\")]\n\t\tpublic Color CheckColor\n\t\t{\n\t\t\tget { return _checkColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_checkColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets the border color while the control disabled.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the border color while the control disabled.\")]\n\t\tpublic Color DisabledBorderColor\n\t\t{\n\t\t\tget { return _disabledBorderColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_disabledBorderColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets the CheckedBackColor while disabled.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the CheckdBackColor while disabled.\")]\n\t\tpublic Color DisabledCheckColor\n\t\t{\n\t\t\tget { return _disabledCheckColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_disabledCheckColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets the Unchecked BackColor while disabled.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the Un-Checkd BackColor while disabled.\")]\n\t\tpublic Color DisabledUnCheckColor\n\t\t{\n\t\t\tget { return _disabledUnCheckColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_disabledUnCheckColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets fore color used by the control\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets forecolor used by the control.\")]\n\t\tpublic override Color ForeColor { get; set; }\n\n\t\t/// <summary>\n\t\t/// I make back color inaccessible cause I want it to be just transparent and I used another property for the same job in following properties. \n\t\t/// </summary>\n\t\t[Browsable(false), EditorBrowsable(EditorBrowsableState.Never)]\n\t\tpublic override Color BackColor => Color.Transparent;\n\n\t\t/// <summary>\n\t\t/// Gets or sets the control back color.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the control backcolor.\")]\n\t\t[DisplayName(\"BackColor\")]\n\t\tpublic Color BackgroundColor\n\t\t{\n\t\t\tget { return _backgroundColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_backgroundColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets the color of the check symbol.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the color of the check symbol.\")]\n\t\tpublic Color SymbolColor\n\t\t{\n\t\t\tget { return _symbolColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_symbolColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets the Unchecked backColor.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the Un-Checkd backColor.\")]\n\t\tpublic Color UnCheckColor\n\t\t{\n\t\t\tget { return _unCheckColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_unCheckColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\t\tprivate bool _isDerivedStyle = true;\n\n\t\t/// <summary>\n\t\t/// Gets or sets the whether this control reflect to parent form style.\n\t\t/// Set it to false if you want the style of this control be independent. \n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\t[Description(\"Gets or sets the whether this control reflect to parent(s) style. \\n \" +\n\t\t\t\t\t \"Set it to false if you want the style of this control be independent. \")]\n\t\tpublic bool IsDerivedStyle\n\t\t{\n\t\t\tget { return _isDerivedStyle; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_isDerivedStyle = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t#endregion Properties\n\n\t\t#region Disposing\n\n\t\t/// <summary>\n\t\t/// Disposing Methods.\n\t\t/// </summary>\n\t\tpublic new void Dispose()\n\t\t{\n\t\t\tDispose(true);\n\t\t\tGC.SuppressFinalize(this);\n\t\t}\n\n\t\t#endregion\n\n\t}\n}"
  },
  {
    "path": "MetroSet UI/Controls/MetroSetTabControl.cs",
    "content": "﻿/*\n * MetroSet UI - MetroSet UI Framework\n *\n * The MIT License (MIT)\n * Copyright (c) 2017 Narwin, https://github.com/N-a-r-w-i-n\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\n * this software and associated documentation files (the \"Software\"), to deal in the\n * Software without restriction, including without limitation the rights to use, copy,\n * modify, merge, publish, distribute, sublicense, and/or sell copies of the Software,\n * and to permit persons to whom the Software is furnished to do so, subject to the\n * following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,\n * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A\n * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF\n * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE\n * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nusing System;\nusing System.ComponentModel;\nusing System.Drawing;\nusing System.Drawing.Design;\nusing System.Runtime.InteropServices;\nusing System.Windows.Forms;\nusing MetroSet_UI.Animates;\nusing MetroSet_UI.Child;\nusing MetroSet_UI.Components;\nusing MetroSet_UI.Design;\nusing MetroSet_UI.Enums;\nusing MetroSet_UI.Extensions;\nusing MetroSet_UI.Interfaces;\n\nnamespace MetroSet_UI.Controls\n{\n\t[ToolboxItem(true)]\n\t[ToolboxBitmap(typeof(MetroSetTabControl), \"Bitmaps.TabControl.bmp\")]\n\t[Designer(typeof(MetroSetTabControlDesigner))]\n\t[ComVisible(true)]\n\tpublic class MetroSetTabControl : TabControl, IMetroSetControl\n\t{\n\t\t#region Interfaces\n\n\t\t/// <summary>\n\t\t/// Gets or sets the style associated with the control.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the style associated with the control.\")]\n\t\tpublic Style Style\n\t\t{\n\t\t\tget => StyleManager?.Style ?? _style;\n\t\t\tset\n\t\t\t{\n\t\t\t\t_style = value;\n\t\t\t\tswitch (value)\n\t\t\t\t{\n\t\t\t\t\tcase Style.Light:\n\t\t\t\t\t\tApplyTheme();\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase Style.Dark:\n\t\t\t\t\t\tApplyTheme(Style.Dark);\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase Style.Custom:\n\t\t\t\t\t\tApplyTheme(Style.Custom);\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tApplyTheme();\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tInvalidate();\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets the Style Manager associated with the control.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the Style Manager associated with the control.\")]\n\t\tpublic StyleManager StyleManager\n\t\t{\n\t\t\tget => _styleManager;\n\t\t\tset { _styleManager = value; Invalidate(); }\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets the The Author name associated with the theme.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the The Author name associated with the theme.\")]\n\t\tpublic string ThemeAuthor { get; set; }\n\n\t\t/// <summary>\n\t\t/// Gets or sets the The Theme name associated with the theme.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the The Theme name associated with the theme.\")]\n\t\tpublic string ThemeName { get; set; }\n\n\t\t#endregion Interfaces\n\n\t\t#region Global Vars\n\n\t\tprivate readonly Methods _mth;\n\t\tprivate readonly Utilites _utl;\n\n\t\t#endregion Global Vars\n\n\t\t#region Internal Vars\n\n\t\tprivate Style _style;\n\t\tprivate StyleManager _styleManager;\n\t\tprivate PointFAnimate _slideAnimator;\n\t\tprivate Graphics _slideGraphics;\n\t\tprivate Bitmap _slideBitmap;\n\n\t\tprivate bool _useAnimation;\n\t\tprivate int _speed = 100;\n\t\tprivate Color _unselectedTextColor;\n\t\tprivate Color _selectedTextColor;\n\t\tprivate TabStyle _tabStyle;\n\n\t\t#endregion Internal Vars\n\n\t\t#region Constructors\n\n\t\tpublic MetroSetTabControl()\n\t\t{\n\t\t\tSetStyle(\n\t\t\t\tControlStyles.UserPaint |\n\t\t\t\tControlStyles.AllPaintingInWmPaint |\n\t\t\t\tControlStyles.ResizeRedraw |\n\t\t\t\tControlStyles.OptimizedDoubleBuffer |\n\t\t\t\tControlStyles.SupportsTransparentBackColor, true);\n\t\t\tUpdateStyles();\n\t\t\tItemSize = new Size(100, 38);\n\t\t\tFont = MetroSetFonts.UIRegular(8);\n\t\t\t_mth = new Methods();\n\t\t\t_utl = new Utilites();\n\t\t\t_slideAnimator = new PointFAnimate();\n\t\t\tApplyTheme();\n\t\t}\n\n\t\t#endregion Constructors\n\n\t\t#region ApplyTheme\n\n\t\t/// <summary>\n\t\t/// Gets or sets the style provided by the user.\n\t\t/// </summary>\n\t\t/// <param name=\"style\">The Style.</param>\n\t\tprivate void ApplyTheme(Style style = Style.Light)\n\t\t{\n\t\t\tif (!IsDerivedStyle)\n\t\t\t\treturn;\n\n\t\t\tswitch (style)\n\t\t\t{\n\t\t\t\tcase Style.Light:\n\t\t\t\t\tForegroundColor = Color.FromArgb(65, 177, 225);\n\t\t\t\t\tBackgroundColor = Color.White;\n\t\t\t\t\tUnselectedTextColor = Color.Gray;\n\t\t\t\t\tSelectedTextColor = Color.White;\n\t\t\t\t\tThemeAuthor = \"Narwin\";\n\t\t\t\t\tThemeName = \"MetroLite\";\n\t\t\t\t\tUpdateProperties();\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase Style.Dark:\n\t\t\t\t\tForegroundColor = Color.FromArgb(65, 177, 225);\n\t\t\t\t\tBackgroundColor = Color.FromArgb(30, 30, 30);\n\t\t\t\t\tUnselectedTextColor = Color.Gray;\n\t\t\t\t\tSelectedTextColor = Color.White;\n\t\t\t\t\tThemeAuthor = \"Narwin\";\n\t\t\t\t\tThemeName = \"MetroDark\";\n\t\t\t\t\tUpdateProperties();\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase Style.Custom:\n\t\t\t\t\tif (StyleManager != null)\n\t\t\t\t\t\tforeach (var varkey in StyleManager.TabControlDictionary)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tswitch (varkey.Key)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tcase \"ForeColor\":\n\t\t\t\t\t\t\t\t\tForegroundColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tcase \"BackColor\":\n\t\t\t\t\t\t\t\t\tBackgroundColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tcase \"UnselectedTextColor\":\n\t\t\t\t\t\t\t\t\tUnselectedTextColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tcase \"SelectedTextColor\":\n\t\t\t\t\t\t\t\t\tSelectedTextColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\tUpdateProperties();\n\t\t\t\t\tbreak;\n\n\t\t\t}\n\t\t}\n\n\t\tprivate void UpdateProperties()\n\t\t{\n\t\t\ttry\n\t\t\t{\n\t\t\t\tInvalidateTabPage(BackgroundColor);\n\t\t\t\tInvalidate();\n\t\t\t}\n\t\t\tcatch\n\t\t\t{\n\t\t\t\t//throw new Exception(ex.StackTrace);\n\t\t\t}\n\t\t}\n\n\t\t#endregion ApplyTheme\n\n\t\t#region Properties\n\n\t\t/// <summary>\n\t\t/// Get or set slide animate time(ms).\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Get or set slide animate time(ms).\")]\n\t\tpublic int AnimateTime\n\t\t{\n\t\t\tget;\n\t\t\tset;\n\t\t} = 200;\n\t\t/// <summary>\n\t\t/// Get or set slide animate easing type\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Get or set slide animate easing type\")]\n\t\tpublic EasingType AnimateEasingType\n\t\t{\n\t\t\tget;\n\t\t\tset;\n\t\t} = EasingType.CubeOut;\n\n\t\t/// <summary>\n\t\t/// Gets the collection of tab pages in this tab control.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\t[Editor(typeof(MetroSetTabPageCollectionEditor), typeof(UITypeEditor))]\n\t\tpublic new TabPageCollection TabPages => base.TabPages;\n\n\t\t/// <summary>\n\t\t/// Gets or sets whether the tab control use animation or not.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets wether the tabcontrol use animation or not.\")]\n\t\t[DefaultValue(true)]\n\t\tpublic bool UseAnimation\n\t\t{\n\t\t\tget { return _useAnimation; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_useAnimation = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets the size of the control's tabs.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the size of the control's tabs.\")]\n\t\tpublic new Size ItemSize\n\t\t{\n\t\t\tget => base.ItemSize;\n\t\t\tset\n\t\t\t{\n\t\t\t\tbase.ItemSize = value;\n\t\t\t\tInvalidate();\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets the font used when displaying text in the control.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the font used when displaying text in the control.\")]\n\t\tpublic new Font Font { get; set; }\n\n\t\t/// <summary>\n\t\t/// Gets or sets the area of the control (for example, along the top) where the tabs are aligned.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the area of the control (for example, along the top) where the tabs are aligned.\")]\n\t\tpublic new TabAlignment Alignment => TabAlignment.Top;\n\n\t\t/// <summary>\n\t\t/// Gets or sets the speed of transition.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the speed of transition.\")]\n\t\t[DefaultValue(20)]\n\t\tpublic int Speed\n\t\t{\n\t\t\tget { return _speed; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_speed = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets which control borders are docked to its parent control and determines how a control is resized with its parent.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\tpublic override DockStyle Dock\n\t\t{\n\t\t\tget => base.Dock; set => base.Dock = value;\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets the way that the control's tabs are sized.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\t[Browsable(false)]\n\t\tpublic new TabSizeMode SizeMode { get; set; } = TabSizeMode.Fixed;\n\n\t\t/// <summary>\n\t\t/// Gets or sets the way that the control's tabs are drawn.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\t[Browsable(false)]\n\t\tpublic new TabDrawMode DrawMode { get; set; } = TabDrawMode.Normal;\n\n\t\t/// <summary>\n\t\t/// Gets or sets the background color.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the backgorund color.\")]\n\t\tpublic Color BackgroundColor { get; set; }\n\n\t\t/// <summary>\n\t\t/// Gets or sets the foreground color.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the foregorund color.\")]\n\t\tprivate Color ForegroundColor { get; set; }\n\n\t\t/// <summary>\n\t\t/// Gets or sets the tab page text while un-selected.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the tabpage text while un-selected.\")]\n\t\tpublic Color UnselectedTextColor\n\t\t{\n\t\t\tget { return _unselectedTextColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_unselectedTextColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets the tab page text while selected.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the tabpage text while selected.\")]\n\t\tpublic Color SelectedTextColor\n\t\t{\n\t\t\tget { return _selectedTextColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_selectedTextColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets the tab control appearance style\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the tancontrol apperance style.\")]\n\t\t[DefaultValue(TabStyle.Style1)]\n\t\tpublic TabStyle TabStyle\n\t\t{\n\t\t\tget { return _tabStyle; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_tabStyle = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\t\tprivate bool _isDerivedStyle = true;\n\n\t\t/// <summary>\n\t\t/// Gets or sets the whether this control reflect to parent form style.\n\t\t/// Set it to false if you want the style of this control be independent. \n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\t[Description(\"Gets or sets the whether this control reflect to parent(s) style. \\n \" +\n\t\t\t\t\t \"Set it to false if you want the style of this control be independent. \")]\n\t\tpublic bool IsDerivedStyle\n\t\t{\n\t\t\tget { return _isDerivedStyle; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_isDerivedStyle = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\t\t#endregion Properties\n\n\t\t#region Draw Control\n\n\t\tprotected override void OnPaint(PaintEventArgs e)\n\t\t{\n\t\t\tvar g = e.Graphics;\n\n\t\t\tg.TextRenderingHint = System.Drawing.Text.TextRenderingHint.ClearTypeGridFit;\n\n\t\t\tg.Clear(BackgroundColor);\n\n\t\t\tvar h = ItemSize.Height + 2;\n\n\t\t\tswitch (TabStyle)\n\t\t\t{\n\t\t\t\tcase TabStyle.Style1:\n\n\t\t\t\t\tusing (var sb = new Pen(ForegroundColor, 2))\n\t\t\t\t\t{\n\t\t\t\t\t\tg.DrawLine(sb, 2, h, Width - 3, h);\n\t\t\t\t\t}\n\n\t\t\t\t\tfor (var i = 0; i <= TabCount - 1; i++)\n\t\t\t\t\t{\n\t\t\t\t\t\tvar r = GetTabRect(i);\n\n\t\t\t\t\t\tif (i == SelectedIndex)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tusing (var sb = new SolidBrush(ForegroundColor))\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tg.FillRectangle(sb, r);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tusing (var tb = new SolidBrush(i == SelectedIndex ? SelectedTextColor : UnselectedTextColor))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tg.DrawString(TabPages[i].Text, Font, tb, r, _mth.SetPosition());\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase TabStyle.Style2:\n\t\t\t\t\tfor (var i = 0; i <= TabCount - 1; i++)\n\t\t\t\t\t{\n\t\t\t\t\t\tvar r = GetTabRect(i);\n\n\t\t\t\t\t\tif (i == SelectedIndex)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tusing (var sb = new Pen(ForegroundColor, 2))\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tg.DrawLine(sb, r.X, r.Height, r.X + r.Width, r.Height);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tusing (var tb = new SolidBrush(UnselectedTextColor))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tg.DrawString(TabPages[i].Text, Font, tb, r, _mth.SetPosition());\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t}\n\n\n\t\t}\n\n\t\t#endregion Draw Control\n\n\t\t#region Events\n\n\t\t/// <summary>\n\t\t/// Handling mouse move event of the control, chnaging the cursor to hande whenever mouse located in a tab page.\n\t\t/// </summary>\n\t\t/// <param name=\"e\">MouseEventArgs</param>\n\t\tprotected override void OnMouseMove(MouseEventArgs e)\n\t\t{\n\t\t\tbase.OnMouseMove(e);\n\t\t\tfor (var i = 0; i <= TabCount - 1; i++)\n\t\t\t{\n\t\t\t\tvar r = GetTabRect(i);\n\t\t\t\tif (!r.Contains(e.Location))\n\t\t\t\t\tcontinue;\n\t\t\t\tCursor = Cursors.Hand;\n\t\t\t\tInvalidate();\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Handling mouse leave event and releasing hand cursor.\n\t\t/// </summary>\n\t\t/// <param name=\"e\"></param>\n\t\tprotected override void OnMouseLeave(EventArgs e)\n\t\t{\n\t\t\tbase.OnMouseLeave(e);\n\t\t\tCursor = Cursors.Default;\n\t\t\tInvalidate();\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Here we set the smooth mouse hand.\n\t\t/// </summary>\n\t\t/// <param name=\"m\"></param>\n\t\tprotected override void WndProc(ref Message m)\n\t\t{\n\t\t\t_utl.SmoothCursor(ref m);\n\n\t\t\tbase.WndProc(ref m);\n\t\t}\n\n\t\t#region Animation\n\n\t\t// Credits : Mavamaarten\n\n\t\tprivate int _oldIndex;\n\n\t\tprivate void DoSlideAnimate(TabPage control1, TabPage control2, bool moveback)\n\t\t{\n\t\t\t// initialize control and child controls when control first painted\n\t\t\t_utl.InitControlHandle(control1);\n\t\t\t_utl.InitControlHandle(control2);\n\t\t\t_slideGraphics = Graphics.FromHwnd(control2.Handle);\n\t\t\t_slideBitmap = new Bitmap(control1.Width + control2.Width, control1.Height + control2.Height);\n\n\t\t\tif (moveback)\n\t\t\t{\n\t\t\t\tcontrol2.DrawToBitmap(_slideBitmap, new Rectangle(0, 0, control2.Width, control2.Height));\n\t\t\t\tcontrol1.DrawToBitmap(_slideBitmap, new Rectangle(control2.Width, 0, control1.Width, control1.Height));\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tcontrol1.DrawToBitmap(_slideBitmap, new Rectangle(0, 0, control1.Width, control1.Height));\n\t\t\t\tcontrol2.DrawToBitmap(_slideBitmap, new Rectangle(control1.Width, 0, control2.Width, control2.Height));\n\t\t\t}\n\n\t\t\tforeach (Control c in control2.Controls)\n\t\t\t{\n\t\t\t\tc.Hide();\n\t\t\t}\n\n\t\t\t_slideAnimator.Update = (alpha) =>\n\t\t\t{\n\t\t\t\t_slideGraphics.DrawImage(_slideBitmap, alpha);\n\t\t\t};\n\t\t\t_slideAnimator.Complete = () =>\n\t\t\t{\n\t\t\t\tSelectedTab = control2;\n\t\t\t\tforeach (Control c in control2.Controls)\n\t\t\t\t{\n\t\t\t\t\tc.Show();\n\t\t\t\t}\n\t\t\t};\n\t\t\t_slideAnimator.Start(\n\t\t\t\tAnimateTime,\n\t\t\t\tnew Point(moveback ? -control2.Width : 0, 0),\n\t\t\t\tnew Point(moveback ? 0 : -control1.Width, 0),\n\t\t\t\tAnimateEasingType\n\t\t\t);\n\t\t}\n\n\t\tprotected override void OnSelecting(TabControlCancelEventArgs e)\n\t\t{\n\t\t\tif (!UseAnimation)\n\t\t\t\treturn;\n\t\t\tif (_slideAnimator.Active)\n\t\t\t{\n\t\t\t\te.Cancel = true;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tDoSlideAnimate(TabPages[_oldIndex], TabPages[e.TabPageIndex], _oldIndex > e.TabPageIndex);\n\t\t}\n\n\t\tprotected override void OnDeselecting(TabControlCancelEventArgs e)\n\t\t{\n\t\t\t_oldIndex = e.TabPageIndex;\n\t\t}\n\n\t\tprivate void DoAnimationScrollRight(Control control1, Control control2)\n\t\t{\n\t\t\tvar g = control1.CreateGraphics();\n\t\t\tvar p1 = new Bitmap(control1.Width, control1.Height);\n\t\t\tvar p2 = new Bitmap(control2.Width, control2.Height);\n\t\t\tcontrol1.DrawToBitmap(p1, new Rectangle(0, 0, control1.Width, control1.Height));\n\t\t\tcontrol2.DrawToBitmap(p2, new Rectangle(0, 0, control2.Width, control2.Height));\n\n\t\t\tforeach (Control c in control1.Controls)\n\t\t\t{\n\t\t\t\tc.Hide();\n\t\t\t}\n\n\t\t\tvar slide = control1.Width - (control1.Width % Speed);\n\n\t\t\tint a;\n\t\t\tfor (a = 0; a >= -slide; a += -Speed)\n\t\t\t{\n\t\t\t\tg.DrawImage(p1, new Rectangle(a, 0, control1.Width, control1.Height));\n\t\t\t\tg.DrawImage(p2, new Rectangle(a + control2.Width, 0, control2.Width, control2.Height));\n\t\t\t}\n\t\t\ta = control1.Width;\n\t\t\tg.DrawImage(p1, new Rectangle(a, 0, control1.Width, control1.Height));\n\t\t\tg.DrawImage(p2, new Rectangle(a + control2.Width, 0, control2.Width, control2.Height));\n\n\t\t\tSelectedTab = (TabPage)control2;\n\n\t\t\tforeach (Control c in control2.Controls)\n\t\t\t{\n\t\t\t\tc.Show();\n\t\t\t}\n\n\t\t\tforeach (Control c in control1.Controls)\n\t\t\t{\n\t\t\t\tc.Show();\n\t\t\t}\n\t\t}\n\n\t\t#endregion Animation\n\n\t\t#endregion Events\n\n\t\t#region Methods\n\n\t\t/// <summary>\n\t\t/// The Method that provide the specific color for every single tab page in the tab control.\n\t\t/// </summary>\n\t\t/// <param name=\"c\"></param>\n\t\tprivate void InvalidateTabPage(Color c)\n\t\t{\n\t\t\tforeach (MetroSetSetTabPage T in TabPages)\n\t\t\t{\n\t\t\t\tT.Style = Style;\n\t\t\t\tT.BaseColor = c;\n\t\t\t\tT.Invalidate();\n\t\t\t}\n\t\t}\n\n\t\t#endregion\n\n\t}\n}"
  },
  {
    "path": "MetroSet UI/Controls/MetroSetTextBox.cs",
    "content": "﻿/*\n* MetroSet UI - MetroSet UI Framework\n* \n* The MIT License (MIT)\n* Copyright (c) 2017 Narwin, https://github.com/N-a-r-w-i-n\n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of \n* this software and associated documentation files (the \"Software\"), to deal in the \n* Software without restriction, including without limitation the rights to use, copy, \n* modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, \n* and to permit persons to whom the Software is furnished to do so, subject to the \n* following conditions:\n* \n* The above copyright notice and this permission notice shall be included in \n* all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, \n* INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A \n* PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT \n* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF \n* CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE \n* OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n*/\n\nusing System;\nusing System.ComponentModel;\nusing System.Drawing;\nusing System.Drawing.Drawing2D;\nusing System.Runtime.InteropServices;\nusing System.Windows.Forms;\nusing MetroSet_UI.Components;\nusing MetroSet_UI.Design;\nusing MetroSet_UI.Enums;\nusing MetroSet_UI.Extensions;\nusing MetroSet_UI.Interfaces;\nusing MetroSet_UI.Native;\n\nnamespace MetroSet_UI.Controls\n{\n\t[ToolboxItem(true)]\n\t[ToolboxBitmap(typeof(MetroSetTextBox), \"Bitmaps.TextBox.bmp\")]\n\t[Designer(typeof(MetroSetTextBoxDesigner))]\n\t[DefaultProperty(\"Text\")]\n\t[ComVisible(true)]\n\tpublic class MetroSetTextBox : Control, IMetroSetControl\n\t{\n\n\t\t#region Interfaces\n\n\t\t/// <summary>\n\t\t/// Gets or sets the style associated with the control.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the style associated with the control.\")]\n\t\tpublic Style Style\n\t\t{\n\t\t\tget => StyleManager?.Style ?? _style;\n\t\t\tset\n\t\t\t{\n\t\t\t\t_style = value;\n\t\t\t\tswitch (value)\n\t\t\t\t{\n\t\t\t\t\tcase Style.Light:\n\t\t\t\t\t\tApplyTheme();\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase Style.Dark:\n\t\t\t\t\t\tApplyTheme(Style.Dark);\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase Style.Custom:\n\t\t\t\t\t\tApplyTheme(Style.Custom);\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tApplyTheme();\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tInvalidate();\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets the Style Manager associated with the control.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the Style Manager associated with the control.\")]\n\t\tpublic StyleManager StyleManager\n\t\t{\n\t\t\tget => _styleManager;\n\t\t\tset { _styleManager = value; Invalidate(); }\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets the The Author name associated with the theme.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the The Author name associated with the theme.\")]\n\t\tpublic string ThemeAuthor { get; set; }\n\n\t\t/// <summary>\n\t\t/// Gets or sets the The Theme name associated with the theme.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the The Theme name associated with the theme.\")]\n\t\tpublic string ThemeName { get; set; }\n\n\t\t#endregion Interfaces\n\n\t\t#region Global Vars\n\n\t\tprivate Utilites _utl;\n\n\t\t#endregion Global Vars\n\n\t\t#region Internal Vars\n\n\t\tprivate Style _style;\n\t\tprivate StyleManager _styleManager;\n\t\tprivate HorizontalAlignment _textAlign;\n\t\tprivate int _maxLength;\n\t\tprivate bool _readOnly;\n\t\tprivate bool _useSystemPasswordChar;\n\t\tprivate string _watermarkText;\n\t\tprivate Image _image;\n\t\tprivate MouseMode _state;\n\t\tprivate AutoCompleteSource _autoCompleteSource;\n\t\tprivate AutoCompleteMode _autoCompleteMode;\n\t\tprivate AutoCompleteStringCollection _autoCompleteCustomSource;\n\t\tprivate bool _multiline;\n\t\tprivate string[] _lines;\n\t\tprivate Color _backColor;\n\t\tprivate Color _foreColor;\n\t\tprivate Color _borderColor;\n\t\tprivate Color _hoverColor;\n\n\t\tprivate Color _disabledForeColor;\n\t\tprivate Color _disabledBackColor;\n\t\tprivate Color _disabledBorderColor;\n\n\t\t#region Base TextBox\n\n\t\tprivate TextBox _textBox = new TextBox();\n\n\t\t#endregion\n\n\t\t#endregion Internal Vars\n\n\t\t#region Constructors\n\n\t\tpublic MetroSetTextBox()\n\t\t{\n\t\t\tSetStyle(\n\t\t\t\tControlStyles.AllPaintingInWmPaint |\n\t\t\t\tControlStyles.ResizeRedraw |\n\t\t\t\tControlStyles.OptimizedDoubleBuffer |\n\t\t\t\tControlStyles.SupportsTransparentBackColor |\n\t\t\t\tControlStyles.UserPaint, true);\n\t\t\tUpdateStyles();\n\t\t\tFont = MetroSetFonts.Regular(10);\n\t\t\tEvaluateVars();\n\t\t\tApplyTheme();\n\t\t\tT_Defaults();\n\t\t\tif (!Multiline)\n\t\t\t\tSize = new Size(135, 30);\n\t\t}\n\n\t\tprivate void EvaluateVars()\n\t\t{\n\t\t\t_utl = new Utilites();\n\t\t}\n\n\t\tprivate void T_Defaults()\n\t\t{\n\t\t\t_watermarkText = string.Empty;\n\t\t\t_useSystemPasswordChar = false;\n\t\t\t_readOnly = false;\n\t\t\t_maxLength = 32767;\n\t\t\t_textAlign = HorizontalAlignment.Left;\n\t\t\t_state = MouseMode.Normal;\n\t\t\t_autoCompleteMode = AutoCompleteMode.None;\n\t\t\t_autoCompleteSource = AutoCompleteSource.None;\n\t\t\t_lines = null;\n\t\t\t_multiline = false;\n\t\t\t_textBox.Multiline = _multiline;\n\t\t\t_textBox.Cursor = Cursors.IBeam;\n\t\t\t_textBox.BackColor = BackColor;\n\t\t\t_textBox.ForeColor = ForeColor;\n\t\t\t_textBox.BorderStyle = BorderStyle.None;\n\t\t\t_textBox.Location = new Point(7, 8);\n\t\t\t_textBox.Font = Font;\n\t\t\t_textBox.UseSystemPasswordChar = UseSystemPasswordChar;\n\t\t\tif (Multiline)\n\t\t\t{\n\t\t\t\t_textBox.Height = Height - 11;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tHeight = _textBox.Height + 11;\n\t\t\t}\n\n\t\t\t_textBox.MouseHover += T_MouseHover;\n\t\t\t_textBox.Leave += T_Leave;\n\t\t\t_textBox.Enter += T_Enter;\n\t\t\t_textBox.KeyDown += T_KeyDown;\n\t\t\t_textBox.TextChanged += T_TextChanged;\n\t\t\t_textBox.KeyPress += T_KeyPress;\n\n\t\t}\n\n\t\t#endregion Constructors\n\n\t\t#region Draw Control\n\n\t\tprotected override void OnPaint(PaintEventArgs e)\n\t\t{\n\t\t\tvar g = e.Graphics;\n\t\t\tvar rect = new Rectangle(0, 0, Width - 1, Height - 1);\n\t\t\tg.TextRenderingHint = System.Drawing.Text.TextRenderingHint.ClearTypeGridFit;\n\n\t\t\tif (Enabled)\n\t\t\t{\n\t\t\t\tusing (var bg = new SolidBrush(BackColor))\n\t\t\t\t{\n\t\t\t\t\tusing (var p = new Pen(BorderColor))\n\t\t\t\t\t{\n\t\t\t\t\t\tusing (var ph = new Pen(HoverColor))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tg.FillRectangle(bg, rect);\n\t\t\t\t\t\t\tif (_state == MouseMode.Normal)\n\t\t\t\t\t\t\t\tg.DrawRectangle(p, rect);\n\t\t\t\t\t\t\telse if (_state == MouseMode.Hovered)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tg.DrawRectangle(ph, rect);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tusing (var bg = new SolidBrush(DisabledBackColor))\n\t\t\t\t{\n\t\t\t\t\tusing (var p = new Pen(DisabledBorderColor))\n\t\t\t\t\t{\n\t\t\t\t\t\tg.FillRectangle(bg, rect);\n\t\t\t\t\t\tg.DrawRectangle(p, rect);\n\t\t\t\t\t\t_textBox.BackColor = DisabledBackColor;\n\t\t\t\t\t\t_textBox.ForeColor = DisabledForeColor;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (Image != null)\n\t\t\t{\n\t\t\t\t_textBox.Location = new Point(31, 4);\n\t\t\t\t_textBox.Width = Width - 60;\n\t\t\t\tg.InterpolationMode = InterpolationMode.HighQualityBicubic;\n\t\t\t\tg.DrawImage(Image, new Rectangle(7, 6, 18, 18));\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\t_textBox.Location = new Point(7, 4);\n\t\t\t\t_textBox.Width = Width - 10;\n\t\t\t}\n\n\t\t}\n\n\t\t#endregion\n\n\t\t#region ApplyTheme\n\n\t\t/// <summary>\n\t\t/// Gets or sets the style provided by the user.\n\t\t/// </summary>\n\t\t/// <param name=\"style\">The Style.</param>\n\t\tprivate void ApplyTheme(Style style = Style.Light)\n\t\t{\n\t\t\tif (!IsDerivedStyle)\n\t\t\t\treturn;\n\n\t\t\tswitch (style)\n\t\t\t{\n\t\t\t\tcase Style.Light:\n\t\t\t\t\tForeColor = Color.FromArgb(20, 20, 20);\n\t\t\t\t\tBackColor = Color.FromArgb(238, 238, 238);\n\t\t\t\t\tHoverColor = Color.FromArgb(102, 102, 102);\n\t\t\t\t\tBorderColor = Color.FromArgb(155, 155, 155);\n\t\t\t\t\tDisabledBackColor = Color.FromArgb(204, 204, 204);\n\t\t\t\t\tDisabledBorderColor = Color.FromArgb(155, 155, 155);\n\t\t\t\t\tDisabledForeColor = Color.FromArgb(136, 136, 136);\n\t\t\t\t\tThemeAuthor = \"Narwin\";\n\t\t\t\t\tThemeName = \"MetroLite\";\n\t\t\t\t\tUpdateProperties();\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase Style.Dark:\n\t\t\t\t\tForeColor = Color.FromArgb(204, 204, 204);\n\t\t\t\t\tBackColor = Color.FromArgb(34, 34, 34);\n\t\t\t\t\tHoverColor = Color.FromArgb(65, 177, 225);\n\t\t\t\t\tBorderColor = Color.FromArgb(110, 110, 110);\n\t\t\t\t\tDisabledBackColor = Color.FromArgb(80, 80, 80);\n\t\t\t\t\tDisabledBorderColor = Color.FromArgb(109, 109, 109);\n\t\t\t\t\tDisabledForeColor = Color.FromArgb(109, 109, 109);\n\t\t\t\t\tThemeAuthor = \"Narwin\";\n\t\t\t\t\tThemeName = \"MetroDark\";\n\t\t\t\t\tUpdateProperties();\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase Style.Custom:\n\t\t\t\t\tif (StyleManager != null)\n\t\t\t\t\t\tforeach (var varkey in StyleManager.TextBoxDictionary)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tswitch (varkey.Key)\n\t\t\t\t\t\t\t{\n\n\t\t\t\t\t\t\t\tcase \"ForeColor\":\n\t\t\t\t\t\t\t\t\tForeColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tcase \"BackColor\":\n\t\t\t\t\t\t\t\t\tBackColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tcase \"HoverColor\":\n\t\t\t\t\t\t\t\t\tHoverColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tcase \"BorderColor\":\n\t\t\t\t\t\t\t\t\tBorderColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tcase \"WatermarkText\":\n\t\t\t\t\t\t\t\t\tWatermarkText = (string)varkey.Value;\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tcase \"DisabledBackColor\":\n\t\t\t\t\t\t\t\t\tDisabledBackColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tcase \"DisabledBorderColor\":\n\t\t\t\t\t\t\t\t\tDisabledBorderColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tcase \"DisabledForeColor\":\n\t\t\t\t\t\t\t\t\tDisabledForeColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\tUpdateProperties();\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\tpublic void UpdateProperties()\n\t\t{\n\t\t\tInvalidate();\n\t\t}\n\n\t\t#endregion Theme Changing\n\n\t\t#region Events\n\n\t\tpublic new event EventHandler TextChanged;\n\t\tpublic event KeyPressEventHandler KeyPressed;\n\t\tpublic new event EventHandler Leave;\n\n\n\t\t/// <summary>\n\t\t/// Handling textbox leave event and raising the same event here.\n\t\t/// </summary>\n\t\t/// <param name=\"sender\">object</param>\n\t\t/// <param name=\"e\">EventArgs</param>\n\t\tpublic void T_Leave(object sender, EventArgs e)\n\t\t{\n\t\t\tbase.OnMouseLeave(e);\n\t\t\tLeave?.Invoke(sender, e);\n\t\t}\n\n\t\tpublic void T_KeyPress(object sender, KeyPressEventArgs e)\n\t\t{\n\t\t\tKeyPressed?.Invoke(this, e);\n\t\t\tInvalidate();\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Handling mouse leave event of the control.\n\t\t/// </summary>\n\t\t/// <param name=\"e\">EventArgs</param>\n\t\tprotected override void OnMouseLeave(EventArgs e)\n\t\t{\n\t\t\t_state = MouseMode.Normal;\n\t\t\tbase.OnMouseLeave(e);\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Handling mouse up event of the control.\n\t\t/// </summary>\n\t\t/// <param name=\"e\">EventArgs</param>\n\t\tprotected override void OnMouseUp(MouseEventArgs e)\n\t\t{\n\t\t\tbase.OnMouseUp(e);\n\t\t\t_state = MouseMode.Hovered;\n\t\t\tInvalidate();\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Handling mouse entering event of the control.\n\t\t/// </summary>\n\t\t/// <param name=\"e\">EventArgs</param>\n\t\tprotected override void OnMouseEnter(EventArgs e)\n\t\t{\n\t\t\tbase.OnMouseEnter(e);\n\t\t\t_state = MouseMode.Pushed;\n\t\t\tInvalidate();\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Handling mouse hover event of the control.\n\t\t/// </summary>\n\t\t/// <param name=\"e\">EventArgs</param>\n\t\tprotected override void OnMouseHover(EventArgs e)\n\t\t{\n\t\t\tbase.OnMouseHover(e);\n\t\t\t_state = MouseMode.Hovered;\n\t\t\tInvalidate();\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Handling the mouse hover event on text box control.\n\t\t/// </summary>\n\t\t/// <param name=\"sender\">object</param>\n\t\t/// <param name=\"e\">EventArgs</param>\n\t\tpublic void T_MouseHover(object sender, EventArgs e)\n\t\t{\n\t\t\tbase.OnMouseHover(e);\n\t\t\tInvalidate();\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Raises the Control.Resize event.\n\t\t/// </summary>\n\t\t/// <param name=\"e\">EventArgs</param>\n\t\tprotected override void OnResize(EventArgs e)\n\t\t{\n\t\t\tbase.OnResize(e);\n\t\t\t//if (!Multiline)\n\t\t\t//{\n\t\t\t_textBox.Size = new Size(Width - 10, Height - 10);\n\t\t\t//}\n\t\t}\n\n\t\tprotected override void OnGotFocus(EventArgs e)\n\t\t{\n\t\t\tbase.OnGotFocus(e);\n\t\t\t_textBox.Focus();\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Raises the Control.Enter event.\n\t\t/// </summary>\n\t\t/// <param name=\"sender\">object</param>\n\t\t/// <param name=\"e\">EventArgs</param>\n\t\tpublic void T_Enter(object sender, EventArgs e)\n\t\t{\n\t\t\tbase.OnMouseEnter(e);\n\t\t\tInvalidate();\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Handling Keydown event of text box control.\n\t\t/// </summary>\n\t\t/// <param name=\"sender\">object</param>\n\t\t/// <param name=\"e\">KeyEventArgs</param>\n\t\tprivate void T_KeyDown(object sender, KeyEventArgs e)\n\t\t{\n\t\t\tif (e.Control && e.KeyCode == Keys.A)\n\t\t\t\te.SuppressKeyPress = true;\n\t\t\tif (!e.Control || e.KeyCode != Keys.C)\n\t\t\t\treturn;\n\t\t\t_textBox.Copy();\n\t\t\te.SuppressKeyPress = true;\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// An System.EventArgs that contains the event data.\n\t\t/// </summary>\n\t\t/// <param name=\"sender\"></param>\n\t\t/// <param name=\"e\"></param>\n\t\tprivate void T_TextChanged(object sender, EventArgs e)\n\t\t{\n\t\t\tText = _textBox.Text;\n\t\t\tTextChanged?.Invoke(this, e);\n\t\t\tInvalidate();\n\t\t}\n\n\t\t/// <summary>\n\t\t/// override the control creating , here we add the base textbox to the main control.\n\t\t/// </summary>\n\t\tprotected override void OnCreateControl()\n\t\t{\n\t\t\tbase.OnCreateControl();\n\t\t\tif (!Controls.Contains(_textBox))\n\t\t\t\tControls.Add(_textBox);\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Appends text to the current text of a text box.\n\t\t/// </summary>\n\t\t/// <param name=\"text\"></param>\n\t\tpublic void AppendText(string text)\n\t\t{\n\t\t\t_textBox?.AppendText(text);\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Undoes the last edit operation in the text box.\n\t\t/// </summary>\n\t\tpublic void Undo()\n\t\t{\n\t\t\tif (_textBox == null)\n\t\t\t\treturn;\n\t\t\tif (_textBox.CanUndo)\n\t\t\t{\n\t\t\t\t_textBox.Undo();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Retrieves the line number from the specified character position within the text of the control.\n\t\t/// </summary>\n\t\t/// <param name=\"index\"></param>\n\t\t/// <returns></returns>\n\t\tpublic int GetLineFromCharIndex(int index)\n\t\t{\n\t\t\treturn _textBox?.GetLineFromCharIndex(index) ?? 0;\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Retrieves the location within the control at the specified character index.\n\t\t/// </summary>\n\t\t/// <param name=\"index\"></param>\n\t\t/// <returns></returns>\n\t\tpublic Point GetPositionFromCharIndex(int index)\n\t\t{\n\t\t\treturn _textBox.GetPositionFromCharIndex(index);\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Retrieves the index of the character nearest to the specified location.\n\t\t/// </summary>\n\t\t/// <param name=\"pt\"></param>\n\t\t/// <returns></returns>\n\t\tpublic int GetCharIndexFromPosition(Point pt)\n\t\t{\n\t\t\treturn _textBox?.GetCharIndexFromPosition(pt) ?? 0;\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Clears information about the most recent operation from the undo buffer of the text box.\n\t\t/// </summary>\n\t\tpublic void ClearUndo()\n\t\t{\n\t\t\t_textBox?.ClearUndo();\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Copies the current selection in the text box to the Clipboard.\n\t\t/// </summary>\n\t\tpublic void Copy()\n\t\t{\n\t\t\t_textBox?.Copy();\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Moves the current selection in the text box to the Clipboard.\n\t\t/// </summary>\n\t\tpublic void Cut()\n\t\t{\n\t\t\t_textBox?.Cut();\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Selects all text in the text box.\n\t\t/// </summary>\n\t\tpublic void SelectAll()\n\t\t{\n\t\t\t_textBox?.SelectAll();\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Specifies that the value of the TextBoxBase.SelectionLength property is zero so that no characters are selected in the control.\n\t\t/// </summary>\n\t\tpublic void DeselectAll()\n\t\t{\n\t\t\t_textBox?.DeselectAll();\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Replaces the current selection in the text box with the contents of the Clipboard.\n\t\t/// </summary>\n\t\t/// <param name=\"clipFormat\"></param>\n\t\tpublic void Paste(string clipFormat)\n\t\t{\n\t\t\t_textBox?.Paste(clipFormat);\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Selects a range of text in the text box.\n\t\t/// </summary>\n\t\t/// <param name=\"start\"></param>\n\t\t/// <param name=\"length\"></param>\n\t\tpublic void Select(int start, int length)\n\t\t{\n\t\t\t_textBox?.Select(start, length);\n\t\t}\n\n\t\t#endregion\n\n\t\t#region Properties\n\n\t\t/// <summary>\n\t\t/// Gets the border style.\n\t\t/// </summary>\n\t\t[Browsable(false), EditorBrowsable(EditorBrowsableState.Never), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]\n\t\tpublic BorderStyle BorderStyle => BorderStyle.None;\n\n\t\t/// <summary>\n\t\t/// Gets or sets how text is aligned in a TextBox control.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets how text is aligned in a TextBox control.\")]\n\t\tpublic HorizontalAlignment TextAlign\n\t\t{\n\t\t\tget => _textAlign;\n\t\t\tset\n\t\t\t{\n\t\t\t\t_textAlign = value;\n\t\t\t\tvar text = _textBox;\n\t\t\t\tif (text != null)\n\t\t\t\t{\n\t\t\t\t\ttext.TextAlign = value;\n\t\t\t\t}\n\t\t\t\tInvalidate();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets how text is aligned in a TextBox control.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets how text is aligned in a TextBox control.\")]\n\t\tpublic int MaxLength\n\t\t{\n\t\t\tget => _maxLength;\n\t\t\tset\n\t\t\t{\n\t\t\t\t_maxLength = value;\n\t\t\t\tif (_textBox != null)\n\t\t\t\t{\n\t\t\t\t\t_textBox.MaxLength = value;\n\t\t\t\t}\n\t\t\t\tInvalidate();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets the background color of the control.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\t[Description(\"Gets or sets the background color of the control.\")]\n\t\tpublic override Color BackColor\n\t\t{\n\t\t\tget => _backColor;\n\t\t\tset\n\t\t\t{\n\t\t\t\t_backColor = value;\n\t\t\t\t_textBox.BackColor = value;\n\t\t\t\tInvalidate();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets the color of the control whenever hovered.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\t[Description(\"Gets or sets the color of the control whenever hovered.\")]\n\t\tpublic Color HoverColor\n\t\t{\n\t\t\tget => _hoverColor;\n\t\t\tset\n\t\t\t{\n\t\t\t\t_hoverColor = value;\n\t\t\t\tInvalidate();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets the border color of the control.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\t[Description(\"Gets or sets the border color of the control.\")]\n\t\tpublic Color BorderColor\n\t\t{\n\t\t\tget => _borderColor;\n\t\t\tset\n\t\t\t{\n\t\t\t\t_borderColor = value;\n\t\t\t\tInvalidate();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets the foreground color of the control.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\t[Description(\"Gets or sets the foreground color of the control.\")]\n\t\t[Browsable(false)]\n\t\tpublic override Color ForeColor\n\t\t{\n\t\t\tget => _foreColor;\n\t\t\tset\n\t\t\t{\n\t\t\t\t_foreColor = value;\n\t\t\t\t_textBox.ForeColor = value;\n\t\t\t\tInvalidate();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets a value indicating whether text in the text box is read-only.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets a value indicating whether text in the text box is read-only.\")]\n\t\tpublic bool ReadOnly\n\t\t{\n\t\t\tget => _readOnly;\n\t\t\tset\n\t\t\t{\n\t\t\t\t_readOnly = value;\n\t\t\t\tif (_textBox != null)\n\t\t\t\t{\n\t\t\t\t\t_textBox.ReadOnly = value;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets a value indicating whether the text in the TextBox control should appear as the default password character.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets a value indicating whether the text in the TextBox control should appear as the default password character.\")]\n\t\tpublic bool UseSystemPasswordChar\n\t\t{\n\t\t\tget => _useSystemPasswordChar;\n\t\t\tset\n\t\t\t{\n\t\t\t\t_useSystemPasswordChar = value;\n\t\t\t\tif (_textBox != null)\n\t\t\t\t{\n\t\t\t\t\t_textBox.UseSystemPasswordChar = value;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets a value indicating whether this is a multiline TextBox control.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets a value indicating whether this is a multiline TextBox control.\")]\n\t\tpublic bool Multiline\n\t\t{\n\t\t\tget => _multiline;\n\t\t\tset\n\t\t\t{\n\t\t\t\t_multiline = value;\n\t\t\t\tif (_textBox == null)\n\t\t\t\t{ return; }\n\t\t\t\t_textBox.Multiline = value;\n\t\t\t\tif (value)\n\t\t\t\t{\n\t\t\t\t\t_textBox.Height = Height - 10;\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tHeight = _textBox.Height + 10;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets the background image.\n\t\t/// </summary>\n\t\t[Browsable(false), EditorBrowsable(EditorBrowsableState.Never), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]\n\t\tpublic override Image BackgroundImage => null;\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets the current text in the TextBox.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the current text in the TextBox.\")]\n\t\tpublic override string Text\n\t\t{\n\t\t\tget => _textBox.Text;\n\t\t\tset\n\t\t\t{\n\t\t\t\tbase.Text = value;\n\t\t\t\tif (_textBox != null)\n\t\t\t\t{\n\t\t\t\t\t_textBox.Text = value;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets the text in the TextBox while being empty.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the text in the TextBox while being empty.\")]\n\t\tpublic string WatermarkText\n\t\t{\n\t\t\tget => _watermarkText;\n\t\t\tset\n\t\t\t{\n\t\t\t\t_watermarkText = value;\n\t\t\t\tUser32.SendMessage(_textBox.Handle, 5377, 0, value);\n\t\t\t\tInvalidate();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets the image of the control.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the image of the control.\")]\n\t\tpublic Image Image\n\t\t{\n\t\t\tget => _image;\n\t\t\tset\n\t\t\t{\n\t\t\t\t_image = value;\n\t\t\t\tInvalidate();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets a value specifying the source of complete strings used for automatic completion.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets a value specifying the source of complete strings used for automatic completion.\")]\n\t\tpublic AutoCompleteSource AutoCompleteSource\n\t\t{\n\t\t\tget => _autoCompleteSource;\n\t\t\tset\n\t\t\t{\n\t\t\t\t_autoCompleteSource = value;\n\t\t\t\tif (_textBox != null)\n\t\t\t\t{\n\t\t\t\t\t_textBox.AutoCompleteSource = value;\n\t\t\t\t}\n\t\t\t\tInvalidate();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets a value specifying the source of complete strings used for automatic completion.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets a value specifying the source of complete strings used for automatic completion.\")]\n\t\tpublic AutoCompleteStringCollection AutoCompleteCustomSource\n\t\t{\n\t\t\tget => _autoCompleteCustomSource;\n\t\t\tset\n\t\t\t{\n\t\t\t\t_autoCompleteCustomSource = value;\n\t\t\t\tif (_textBox != null)\n\t\t\t\t{\n\t\t\t\t\t_textBox.AutoCompleteCustomSource = value;\n\t\t\t\t}\n\t\t\t\tInvalidate();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets an option that controls how automatic completion works for the TextBox.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets an option that controls how automatic completion works for the TextBox.\")]\n\t\tpublic AutoCompleteMode AutoCompleteMode\n\t\t{\n\t\t\tget => _autoCompleteMode;\n\t\t\tset\n\t\t\t{\n\t\t\t\t_autoCompleteMode = value;\n\t\t\t\tif (_textBox != null)\n\t\t\t\t{\n\t\t\t\t\t_textBox.AutoCompleteMode = value;\n\t\t\t\t}\n\t\t\t\tInvalidate();\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets the font of the text displayed by the control.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the font of the text displayed by the control.\")]\n\t\tpublic sealed override Font Font\n\t\t{\n\t\t\tget => base.Font;\n\t\t\tset\n\t\t\t{\n\t\t\t\tbase.Font = value;\n\t\t\t\tif (_textBox == null)\n\t\t\t\t\treturn;\n\t\t\t\t_textBox.Font = value;\n\t\t\t\t_textBox.Location = new Point(5, 5);\n\t\t\t\t_textBox.Width = Width - 8;\n\t\t\t\tif (!Multiline)\n\t\t\t\t\tHeight = _textBox.Height + 11;\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets the lines of text in the control.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the lines of text in the control.\")]\n\t\tpublic string[] Lines\n\t\t{\n\t\t\tget => _lines;\n\t\t\tset\n\t\t\t{\n\t\t\t\t_lines = value;\n\t\t\t\tif (_textBox != null)\n\t\t\t\t\t_textBox.Lines = value;\n\t\t\t\tInvalidate();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets the ContextMenuStrip associated with this control.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the ContextMenuStrip associated with this control.\")]\n\t\tpublic override ContextMenuStrip ContextMenuStrip\n\t\t{\n\t\t\tget => base.ContextMenuStrip;\n\t\t\tset\n\t\t\t{\n\t\t\t\tbase.ContextMenuStrip = value;\n\t\t\t\tif (_textBox == null)\n\t\t\t\t\treturn;\n\t\t\t\t_textBox.ContextMenuStrip = value;\n\t\t\t\tInvalidate();\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets the forecolor of the control whenever while disabled\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the forecolor of the control whenever while disabled.\")]\n\t\tpublic Color DisabledForeColor\n\t\t{\n\t\t\tget { return _disabledForeColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_disabledForeColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets disabled backcolor used by the control\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets disabled backcolor used by the control.\")]\n\t\tpublic Color DisabledBackColor\n\t\t{\n\t\t\tget { return _disabledBackColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_disabledBackColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets the border color while the control disabled.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the border color while the control disabled.\")]\n\t\tpublic Color DisabledBorderColor\n\t\t{\n\t\t\tget { return _disabledBorderColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_disabledBorderColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\t\tprivate bool _isDerivedStyle = true;\n\n\t\t/// <summary>\n\t\t/// Gets or sets the whether this control reflect to parent form style.\n\t\t/// Set it to false if you want the style of this control be independent. \n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\t[Description(\"Gets or sets the whether this control reflect to parent(s) style. \\n \" +\n\t\t\t\t\t \"Set it to false if you want the style of this control be independent. \")]\n\t\tpublic bool IsDerivedStyle\n\t\t{\n\t\t\tget { return _isDerivedStyle; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_isDerivedStyle = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t#endregion\n\n\t}\n}"
  },
  {
    "path": "MetroSet UI/Controls/MetroSetTile.cs",
    "content": "﻿/*\n* MetroSet UI - MetroSet UI Framework\n* \n* The MIT License (MIT)\n* Copyright (c) 2017 Narwin, https://github.com/N-a-r-w-i-n\n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of \n* this software and associated documentation files (the \"Software\"), to deal in the \n* Software without restriction, including without limitation the rights to use, copy, \n* modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, \n* and to permit persons to whom the Software is furnished to do so, subject to the \n* following conditions:\n* \n* The above copyright notice and this permission notice shall be included in \n* all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, \n* INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A \n* PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT \n* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF \n* CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE \n* OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n*/\n\nusing System;\nusing System.ComponentModel;\nusing System.Drawing;\nusing System.Drawing.Text;\nusing System.Runtime.InteropServices;\nusing System.Windows.Forms;\nusing MetroSet_UI.Components;\nusing MetroSet_UI.Design;\nusing MetroSet_UI.Enums;\nusing MetroSet_UI.Extensions;\nusing MetroSet_UI.Interfaces;\n\nnamespace MetroSet_UI.Controls\n{\n\t[ToolboxItem(true)]\n\t[ToolboxBitmap(typeof(MetroSetTile), \"Bitmaps.Button.bmp\")]\n\t[Designer(typeof(MetroSetTileDesigner))]\n\t[DefaultEvent(\"Click\")]\n\t[DefaultProperty(\"Text\")]\n\t[ComVisible(true)]\n\tpublic class MetroSetTile : Control, IMetroSetControl\n\t{\n\n\t\t#region Interfaces\n\n\t\t/// <summary>\n\t\t/// Gets or sets the style associated with the control.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the style associated with the control.\")]\n\t\tpublic Style Style\n\t\t{\n\t\t\tget => StyleManager?.Style ?? _style;\n\t\t\tset\n\t\t\t{\n\t\t\t\t_style = value;\n\t\t\t\tswitch (value)\n\t\t\t\t{\n\t\t\t\t\tcase Style.Light:\n\t\t\t\t\t\tApplyTheme();\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase Style.Dark:\n\t\t\t\t\t\tApplyTheme(Style.Dark);\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase Style.Custom:\n\t\t\t\t\t\tApplyTheme(Style.Custom);\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tApplyTheme();\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tInvalidate();\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets the The Author name associated with the theme.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the The Author name associated with the theme.\")]\n\t\tpublic string ThemeAuthor { get; set; }\n\n\t\t/// <summary>\n\t\t/// Gets or sets the The Theme name associated with the theme.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the The Theme name associated with the theme.\")]\n\t\tpublic string ThemeName { get; set; }\n\n\t\t/// <summary>\n\t\t/// Gets or sets the Style Manager associated with the control.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the Style Manager associated with the control.\")]\n\t\tpublic StyleManager StyleManager\n\t\t{\n\t\t\tget => _styleManager;\n\t\t\tset\n\t\t\t{\n\t\t\t\t_styleManager = value;\n\t\t\t\tInvalidate();\n\t\t\t}\n\t\t}\n\n\t\t#endregion Interfaces\n\n\t\t#region Global Vars\n\n\t\tprivate readonly Utilites _utl;\n\n\t\t#endregion Global Vars\n\n\t\t#region Internal Vars\n\n\t\tprivate MouseMode _state;\n\t\tprivate Style _style;\n\t\tprivate StyleManager _styleManager;\n\n\t\tprivate TileAlign _textAlign;\n\t\tprivate Color _normalColor;\n\t\tprivate Color _normalBorderColor;\n\t\tprivate Color _normalTextColor;\n\t\tprivate Color _hoverColor;\n\t\tprivate Color _hoverBorderColor;\n\t\tprivate Color _hoverTextColor;\n\t\tprivate Color _pressColor;\n\t\tprivate Color _pressBorderColor;\n\t\tprivate Color _pressTextColor;\n\t\tprivate Color _disabledBackColor;\n\t\tprivate Color _disabledForeColor;\n\t\tprivate Color _disabledBorderColor;\n\n\t\t#endregion Internal Vars\n\n\t\t#region Constructors\n\n\t\tpublic MetroSetTile()\n\t\t{\n\t\t\tSetStyle(\n\t\t\t\tControlStyles.AllPaintingInWmPaint |\n\t\t\t\tControlStyles.ResizeRedraw | ControlStyles.UserPaint |\n\t\t\t\tControlStyles.OptimizedDoubleBuffer |\n\t\t\t\tControlStyles.SupportsTransparentBackColor, true);\n\t\t\tUpdateStyles();\n\t\t\tbase.Font = MetroSetFonts.Light(10);\n\t\t\t_utl = new Utilites();\n\t\t\tApplyTheme();\n\t\t}\n\n\t\t#endregion Constructors\n\n\t\t#region Draw Control\n\n\t\tprotected override void OnPaint(PaintEventArgs e)\n\t\t{\n\t\t\tvar g = e.Graphics;\n\t\t\tvar r = new Rectangle(1, 1, Width - 2, Height - 2);\n\t\t\tg.TextRenderingHint = TextRenderingHint.ClearTypeGridFit;\n\n\t\t\tStringFormat sf;\n\n\t\t\tswitch (TileAlign)\n\t\t\t{\n\t\t\t\tcase TileAlign.BottmLeft:\n\t\t\t\t\tsf = new StringFormat { Alignment = StringAlignment.Near, LineAlignment = StringAlignment.Far };\n\t\t\t\t\tbreak;\n\t\t\t\tcase TileAlign.BottomRight:\n\t\t\t\t\tsf = new StringFormat { Alignment = StringAlignment.Far, LineAlignment = StringAlignment.Far };\n\t\t\t\t\tbreak;\n\t\t\t\tcase TileAlign.Topleft:\n\t\t\t\t\tsf = new StringFormat { Alignment = StringAlignment.Near, LineAlignment = StringAlignment.Near };\n\t\t\t\t\tbreak;\n\t\t\t\tcase TileAlign.TopRight:\n\t\t\t\t\tsf = new StringFormat { Alignment = StringAlignment.Far, LineAlignment = StringAlignment.Near };\n\t\t\t\t\tbreak;\n\t\t\t\tcase TileAlign.TopCenter:\n\t\t\t\t\tsf = new StringFormat { Alignment = StringAlignment.Center, LineAlignment = StringAlignment.Near };\n\t\t\t\t\tbreak;\n\t\t\t\tcase TileAlign.BottomCenter:\n\t\t\t\t\tsf = new StringFormat { Alignment = StringAlignment.Center, LineAlignment = StringAlignment.Far };\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tthrow new ArgumentOutOfRangeException();\n\t\t\t}\n\n\t\t\tswitch (_state)\n\t\t\t{\n\t\t\t\tcase MouseMode.Normal:\n\n\t\t\t\t\tusing (var bg = new SolidBrush(NormalColor))\n\t\t\t\t\t{\n\t\t\t\t\t\tusing (var p = new Pen(NormalBorderColor, 2))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tusing (var tb = new SolidBrush(NormalTextColor))\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tif (BackgroundImage != null)\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tg.DrawImage(BackgroundImage, r);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tg.FillRectangle(bg, r);\n\t\t\t\t\t\t\t\t\tg.DrawRectangle(p, r);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tg.DrawString(Text, Font, tb, r, sf);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase MouseMode.Hovered:\n\n\t\t\t\t\tCursor = Cursors.Hand;\n\t\t\t\t\tusing (var bg = new SolidBrush(HoverColor))\n\t\t\t\t\t{\n\t\t\t\t\t\tusing (var p = new Pen(HoverBorderColor, 2))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tusing (var tb = new SolidBrush(HoverTextColor))\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tif (BackgroundImage != null)\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tg.DrawImage(BackgroundImage, r);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tg.FillRectangle(bg, r);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tg.DrawString(Text, Font, tb, r, sf);\n\t\t\t\t\t\t\t\tg.DrawRectangle(p, r);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase MouseMode.Pushed:\n\n\t\t\t\t\tusing (var bg = new SolidBrush(PressColor))\n\t\t\t\t\t{\n\t\t\t\t\t\tusing (var p = new Pen(PressBorderColor, 2))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tusing (var tb = new SolidBrush(PressTextColor))\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tif (BackgroundImage != null)\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tg.DrawImage(BackgroundImage, r);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tg.FillRectangle(bg, r);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tg.DrawString(Text, Font, tb, r, sf);\n\t\t\t\t\t\t\t\tg.DrawRectangle(p, r);\n\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase MouseMode.Disabled:\n\t\t\t\t\tusing (var bg = new SolidBrush(DisabledBackColor))\n\t\t\t\t\t{\n\t\t\t\t\t\tusing (var p = new Pen(DisabledBorderColor))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tusing (var tb = new SolidBrush(DisabledForeColor))\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tg.FillRectangle(bg, r);\n\t\t\t\t\t\t\t\tg.DrawString(Text, Font, tb, r, sf);\n\t\t\t\t\t\t\t\tg.DrawRectangle(p, r);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tthrow new ArgumentOutOfRangeException();\n\t\t\t}\n\t\t}\n\n\t\t#endregion Draw Control\n\n\t\t#region ApplyTheme\n\n\t\t/// <summary>\n\t\t/// Gets or sets the style provided by the user.\n\t\t/// </summary>\n\t\t/// <param name=\"style\">The Style.</param>\n\t\tprivate void ApplyTheme(Style style = Style.Light)\n\t\t{\n\t\t\tif (!IsDerivedStyle)\n\t\t\t\treturn;\n\n\t\t\tswitch (style)\n\t\t\t{\n\t\t\t\tcase Style.Light:\n\t\t\t\t\tNormalColor = Color.FromArgb(65, 177, 225);\n\t\t\t\t\tNormalBorderColor = Color.FromArgb(65, 177, 225);\n\t\t\t\t\tNormalTextColor = Color.White;\n\t\t\t\t\tHoverColor = Color.FromArgb(65, 177, 225);\n\t\t\t\t\tHoverBorderColor = Color.FromArgb(230, 230, 230);\n\t\t\t\t\tHoverTextColor = Color.White;\n\t\t\t\t\tPressColor = Color.FromArgb(65, 177, 225);\n\t\t\t\t\tPressBorderColor = Color.FromArgb(65, 177, 225);\n\t\t\t\t\tPressTextColor = Color.White;\n\t\t\t\t\tDisabledBackColor = Color.FromArgb(204, 204, 204);\n\t\t\t\t\tDisabledBorderColor = Color.FromArgb(155, 155, 155);\n\t\t\t\t\tDisabledForeColor = Color.FromArgb(136, 136, 136);\n\t\t\t\t\tThemeAuthor = \"Narwin\";\n\t\t\t\t\tThemeName = \"MetroLite\";\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase Style.Dark:\n\t\t\t\t\tNormalColor = Color.FromArgb(65, 177, 225);\n\t\t\t\t\tNormalBorderColor = Color.FromArgb(65, 177, 225);\n\t\t\t\t\tNormalTextColor = Color.White;\n\t\t\t\t\tHoverColor = Color.FromArgb(65, 177, 225);\n\t\t\t\t\tHoverBorderColor = Color.FromArgb(102, 102, 102);\n\t\t\t\t\tHoverTextColor = Color.White;\n\t\t\t\t\tPressColor = Color.FromArgb(65, 177, 225);\n\t\t\t\t\tPressBorderColor = Color.FromArgb(51, 51, 51);\n\t\t\t\t\tPressTextColor = Color.White;\n\t\t\t\t\tDisabledBackColor = Color.FromArgb(80, 80, 80);\n\t\t\t\t\tDisabledBorderColor = Color.FromArgb(109, 109, 109);\n\t\t\t\t\tDisabledForeColor = Color.FromArgb(109, 109, 109);\n\t\t\t\t\tThemeAuthor = \"Narwin\";\n\t\t\t\t\tThemeName = \"MetroDark\";\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase Style.Custom:\n\t\t\t\t\tif (StyleManager != null)\n\t\t\t\t\t\tforeach (var varkey in StyleManager.TileDictionary)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tif ((varkey.Key == null) || varkey.Key == null)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (varkey.Key == \"NormalColor\")\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tNormalColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse if (varkey.Key == \"NormalBorderColor\")\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tNormalBorderColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse if (varkey.Key == \"NormalTextColor\")\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tNormalTextColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse if (varkey.Key == \"HoverColor\")\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tHoverColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse if (varkey.Key == \"HoverBorderColor\")\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tHoverBorderColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse if (varkey.Key == \"HoverTextColor\")\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tHoverTextColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse if (varkey.Key == \"PressColor\")\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tPressColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse if (varkey.Key == \"PressBorderColor\")\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tPressBorderColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse if (varkey.Key == \"PressTextColor\")\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tPressTextColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse if (varkey.Key == \"DisabledBackColor\")\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tDisabledBackColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse if (varkey.Key == \"DisabledBorderColor\")\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tDisabledBorderColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse if (varkey.Key == \"DisabledForeColor\")\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tDisabledForeColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\tRefresh();\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tthrow new ArgumentOutOfRangeException(nameof(style), style, null);\n\t\t\t}\n\t\t}\n\n\t\t#endregion Theme Changing\n\n\t\t#region Properties\n\n\t\t/// <summary>\n\t\t/// Gets the background color.\n\t\t/// </summary>\n\t\t[Browsable(false)]\n\t\tpublic override Color BackColor => Color.Transparent;\n\n\t\t/// <summary>\n\t\t/// Gets or sets a value indicating whether the control can respond to user interaction.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets a value indicating whether the control can respond to user interaction.\")]\n\t\tpublic new bool Enabled\n\t\t{\n\t\t\tget => base.Enabled;\n\t\t\tset\n\t\t\t{\n\t\t\t\tbase.Enabled = value;\n\t\t\t\tif (value == false)\n\t\t\t\t{\n\t\t\t\t\t_state = MouseMode.Disabled;\n\t\t\t\t}\n\t\t\t\tInvalidate();\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets the BackgroundImage associated with the control.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the BackgroundImage associated with the control.\")]\n\t\tpublic override Image BackgroundImage { get => base.BackgroundImage; set => base.BackgroundImage = value; }\n\n\t\t/// <summary>\n\t\t/// Gets or sets the TileAlign associated with the control.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the TileAlign associated with the control.\")]\n\t\t[DefaultValue(TileAlign.BottmLeft)]\n\t\tpublic TileAlign TileAlign\n\t\t{\n\t\t\tget { return _textAlign; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_textAlign = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\t\t/// <summary>\n\t\t/// Gets or sets the control background color in normal mouse sate.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\t[Description(\"Gets or sets the control background color in normal mouse sate.\")]\n\t\tpublic Color NormalColor\n\t\t{\n\t\t\tget { return _normalColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_normalColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets the control border color in normal mouse sate.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\t[Description(\"Gets or sets the control border color in normal mouse sate.\")]\n\t\tpublic Color NormalBorderColor\n\t\t{\n\t\t\tget { return _normalBorderColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_normalBorderColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets the control Text color in normal mouse sate.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\t[Description(\"Gets or sets the control Text color in normal mouse sate.\")]\n\t\tpublic Color NormalTextColor\n\t\t{\n\t\t\tget { return _normalTextColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_normalTextColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets the control background color in hover mouse sate.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\t[Description(\"Gets or sets the control background color in hover mouse sate.\")]\n\t\tpublic Color HoverColor\n\t\t{\n\t\t\tget { return _hoverColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_hoverColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets the control border color in hover mouse sate.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\t[Description(\"Gets or sets the control border color in hover mouse sate.\")]\n\t\tpublic Color HoverBorderColor\n\t\t{\n\t\t\tget { return _hoverBorderColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_hoverBorderColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets the control Text color in hover mouse sate.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\t[Description(\"Gets or sets the control Text color in hover mouse sate.\")]\n\t\tpublic Color HoverTextColor\n\t\t{\n\t\t\tget { return _hoverTextColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_hoverTextColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets the control background color in pushed mouse sate.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\t[Description(\"Gets or sets the control background color in pushed mouse sate.\")]\n\t\tpublic Color PressColor\n\t\t{\n\t\t\tget { return _pressColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_pressColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets the control border color in pushed mouse sate.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\t[Description(\"Gets or sets the control border color in pushed mouse sate.\")]\n\t\tpublic Color PressBorderColor\n\t\t{\n\t\t\tget { return _pressBorderColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_pressBorderColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets the control Text color in pushed mouse sate.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\t[Description(\"Gets or sets the control Text color in pushed mouse sate.\")]\n\t\tpublic Color PressTextColor\n\t\t{\n\t\t\tget { return _pressTextColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_pressTextColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets back color used by the control while disabled.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\t[Description(\"Gets or sets backcolor used by the control while disabled.\")]\n\t\tpublic Color DisabledBackColor\n\t\t{\n\t\t\tget { return _disabledBackColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_disabledBackColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets the fore color of the control whenever while disabled.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\t[Description(\"Gets or sets the forecolor of the control whenever while disabled.\")]\n\t\tpublic Color DisabledForeColor\n\t\t{\n\t\t\tget { return _disabledForeColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_disabledForeColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets the border color of the control while disabled.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\t[Description(\"Gets or sets the border color of the control while disabled.\")]\n\t\tpublic Color DisabledBorderColor\n\t\t{\n\t\t\tget { return _disabledBorderColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_disabledBorderColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\t\tprivate bool _isDerivedStyle = true;\n\n\t\t/// <summary>\n\t\t/// Gets or sets the whether this control reflect to parent form style.\n\t\t/// Set it to false if you want the style of this control be independent. \n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\t[Description(\"Gets or sets the whether this control reflect to parent(s) style. \\n \" +\n\t\t\t\t\t \"Set it to false if you want the style of this control be independent. \")]\n\t\tpublic bool IsDerivedStyle\n\t\t{\n\t\t\tget { return _isDerivedStyle; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_isDerivedStyle = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t#endregion\n\n\t\t#region Events\n\n\t\t/// <summary>\n\t\t/// Handling mouse up event of the control.\n\t\t/// </summary>\n\t\t/// <param name=\"e\">MouseEventArgs</param>\n\t\tprotected override void OnMouseUp(MouseEventArgs e)\n\t\t{\n\t\t\tbase.OnMouseUp(e);\n\t\t\t_state = MouseMode.Hovered;\n\t\t\tInvalidate();\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Handling mouse down event of the control.\n\t\t/// </summary>\n\t\t/// <param name=\"e\">MouseEventArgs</param>\n\t\tprotected override void OnMouseDown(MouseEventArgs e)\n\t\t{\n\t\t\tbase.OnMouseUp(e);\n\t\t\t_state = MouseMode.Pushed;\n\t\t\tInvalidate();\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Handling mouse entering event of the control.\n\t\t/// </summary>\n\t\t/// <param name=\"e\">MouseEventArgs</param>\n\t\tprotected override void OnMouseEnter(EventArgs e)\n\t\t{\n\t\t\tbase.OnMouseEnter(e);\n\t\t\t_state = MouseMode.Hovered;\n\t\t\tInvalidate();\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Handling mouse leave event of the control.\n\t\t/// </summary>\n\t\t/// <param name=\"e\">EventArgs</param>\n\t\tprotected override void OnMouseLeave(EventArgs e)\n\t\t{\n\t\t\tbase.OnMouseEnter(e);\n\t\t\t_state = MouseMode.Normal;\n\t\t\tInvalidate();\n\t\t}\n\n\t\t#endregion Events\n\n\t}\n\n}"
  },
  {
    "path": "MetroSet UI/Controls/MetroSetTrackBar.cs",
    "content": "﻿/*\n* MetroSet UI - MetroSet UI Framework\n* \n* The MIT License (MIT)\n* Copyright (c) 2017 Narwin, https://github.com/N-a-r-w-i-n\n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of \n* this software and associated documentation files (the \"Software\"), to deal in the \n* Software without restriction, including without limitation the rights to use, copy, \n* modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, \n* and to permit persons to whom the Software is furnished to do so, subject to the \n* following conditions:\n* \n* The above copyright notice and this permission notice shall be included in \n* all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, \n* INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A \n* PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT \n* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF \n* CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE \n* OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n*/\n\nusing System;\nusing System.ComponentModel;\nusing System.Drawing;\nusing System.Runtime.InteropServices;\nusing System.Windows.Forms;\nusing MetroSet_UI.Components;\nusing MetroSet_UI.Design;\nusing MetroSet_UI.Enums;\nusing MetroSet_UI.Extensions;\nusing MetroSet_UI.Interfaces;\n\nnamespace MetroSet_UI.Controls\n{\n\t[ToolboxItem(true)]\n\t[ToolboxBitmap(typeof(MetroSetTrackBar), \"Bitmaps.Slider.bmp\")]\n\t[Designer(typeof(MetroSetTrackBarDesigner))]\n\t[DefaultProperty(\"Value\")]\n\t[DefaultEvent(\"Scroll\")]\n\t[ComVisible(true)]\n\tpublic class MetroSetTrackBar : Control, IMetroSetControl\n\t{\n\n\t\t#region Interfaces\n\n\t\t/// <summary>\n\t\t/// Gets or sets the style associated with the control.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the style associated with the control.\")]\n\t\tpublic Style Style\n\t\t{\n\t\t\tget => StyleManager?.Style ?? _style;\n\t\t\tset\n\t\t\t{\n\t\t\t\t_style = value;\n\t\t\t\tswitch (value)\n\t\t\t\t{\n\t\t\t\t\tcase Style.Light:\n\t\t\t\t\t\tApplyTheme();\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase Style.Dark:\n\t\t\t\t\t\tApplyTheme(Style.Dark);\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase Style.Custom:\n\t\t\t\t\t\tApplyTheme(Style.Custom);\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tApplyTheme();\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tInvalidate();\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets the Style Manager associated with the control.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the Style Manager associated with the control.\")]\n\t\tpublic StyleManager StyleManager\n\t\t{\n\t\t\tget => _styleManager;\n\t\t\tset { _styleManager = value; Invalidate(); }\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets the The Author name associated with the theme.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the The Author name associated with the theme.\")]\n\t\tpublic string ThemeAuthor { get; set; }\n\n\t\t/// <summary>\n\t\t/// Gets or sets the The Theme name associated with the theme.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the The Theme name associated with the theme.\")]\n\t\tpublic string ThemeName { get; set; }\n\n\t\t#endregion Interfaces\n\n\t\t#region Global Vars\n\n\t\tprivate readonly Utilites _utl;\n\n\t\t#endregion Global Vars\n\n\t\t#region Internal Vars\n\n\t\tprivate Style _style;\n\t\tprivate StyleManager _styleManager;\n\t\tprivate bool _variable;\n\t\tprivate Rectangle _track;\n\t\tprivate int _maximum;\n\t\tprivate int _minimum;\n\t\tprivate int _value;\n\t\tprivate int _currentValue;\n\n\t\tprivate Color _valueColor;\n\t\tprivate Color _handlerColor;\n\t\tprivate Color _backgroundColor;\n\t\tprivate Color _disabledValueColor;\n\t\tprivate Color _disabledBackColor;\n\t\tprivate Color _disabledBorderColor;\n\t\tprivate Color _disabledHandlerColor;\n\n\t\t#endregion Internal Vars\n\n\t\t#region Constructors\n\n\t\tpublic MetroSetTrackBar()\n\t\t{\n\t\t\tSetStyle(\n\t\t\t\tControlStyles.ResizeRedraw |\n\t\t\t\tControlStyles.OptimizedDoubleBuffer |\n\t\t\t\tControlStyles.SupportsTransparentBackColor, true);\n\t\t\t_maximum = 100;\n\t\t\t_minimum = 0;\n\t\t\t_value = 0;\n\t\t\t_currentValue = Convert.ToInt32(Value / (double)(Maximum) - (2 * Width));\n\t\t\tUpdateStyles();\n\t\t\t_utl = new Utilites();\n\t\t\tApplyTheme();\n\t\t}\n\n\t\t#endregion Constructors\n\n\t\t#region ApplyTheme\n\n\t\t/// <summary>\n\t\t/// Gets or sets the style provided by the user.\n\t\t/// </summary>\n\t\t/// <param name=\"style\">The Style.</param>\n\t\tprivate void ApplyTheme(Style style = Style.Light)\n\t\t{\n\t\t\tif (!IsDerivedStyle)\n\t\t\t\treturn;\n\n\t\t\tswitch (style)\n\t\t\t{\n\t\t\t\tcase Style.Light:\n\t\t\t\t\tHandlerColor = Color.FromArgb(180, 180, 180);\n\t\t\t\t\tBackgroundColor = Color.FromArgb(205, 205, 205);\n\t\t\t\t\tValueColor = Color.FromArgb(65, 177, 225);\n\t\t\t\t\tDisabledBackColor = Color.FromArgb(235, 235, 235);\n\t\t\t\t\tDisabledValueColor = Color.FromArgb(205, 205, 205);\n\t\t\t\t\tDisabledHandlerColor = Color.FromArgb(196, 196, 196);\n\t\t\t\t\tThemeAuthor = \"Narwin\";\n\t\t\t\t\tThemeName = \"MetroLite\";\n\t\t\t\t\tUpdateProperties();\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase Style.Dark:\n\t\t\t\t\tHandlerColor = Color.FromArgb(143, 143, 143);\n\t\t\t\t\tBackgroundColor = Color.FromArgb(90, 90, 90);\n\t\t\t\t\tValueColor = Color.FromArgb(65, 177, 225);\n\t\t\t\t\tDisabledBackColor = Color.FromArgb(80, 80, 80);\n\t\t\t\t\tDisabledValueColor = Color.FromArgb(109, 109, 109);\n\t\t\t\t\tDisabledHandlerColor = Color.FromArgb(90, 90, 90);\n\t\t\t\t\tThemeAuthor = \"Narwin\";\n\t\t\t\t\tThemeName = \"MetroDark\";\n\t\t\t\t\tUpdateProperties();\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase Style.Custom:\n\t\t\t\t\tif (StyleManager != null)\n\t\t\t\t\t\tforeach (var varkey in StyleManager.TrackBarDictionary)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tswitch (varkey.Key)\n\t\t\t\t\t\t\t{\n\n\t\t\t\t\t\t\t\tcase \"HandlerColor\":\n\t\t\t\t\t\t\t\t\tHandlerColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tcase \"BackColor\":\n\t\t\t\t\t\t\t\t\tBackgroundColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tcase \"ValueColor\":\n\t\t\t\t\t\t\t\t\tValueColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tcase \"DisabledBackColor\":\n\t\t\t\t\t\t\t\t\tDisabledBackColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tcase \"DisabledValueColor\":\n\t\t\t\t\t\t\t\t\tDisabledValueColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tcase \"DisabledHandlerColor\":\n\t\t\t\t\t\t\t\t\tDisabledHandlerColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\tUpdateProperties();\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tthrow new ArgumentOutOfRangeException(nameof(style), style, null);\n\t\t\t}\n\t\t}\n\n\t\tprivate void UpdateProperties()\n\t\t{\n\t\t\tInvalidate();\n\t\t}\n\n\t\t#endregion Theme Changing\n\n\t\t#region Draw Control\n\n\t\tprotected override void OnPaint(PaintEventArgs e)\n\t\t{\n\t\t\tvar g = e.Graphics;\n\n\t\t\tCursor = Cursors.Hand;\n\n\t\t\tusing (var bg = new SolidBrush(Enabled ? BackgroundColor : DisabledBackColor))\n\t\t\t{\n\t\t\t\tusing (var v = new SolidBrush(Enabled ? ValueColor : DisabledValueColor))\n\t\t\t\t{\n\t\t\t\t\tusing (var vc = new SolidBrush(Enabled ? HandlerColor : DisabledHandlerColor))\n\t\t\t\t\t{\n\t\t\t\t\t\tg.FillRectangle(bg, new Rectangle(0, 6, Width, 4));\n\t\t\t\t\t\tif (_currentValue != 0)\n\t\t\t\t\t\t\tg.FillRectangle(v, new Rectangle(0, 6, _currentValue, 4));\n\t\t\t\t\t\tg.FillRectangle(vc, _track);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t#endregion\n\n\t\t#region Properties\n\n\t\t/// <summary>\n\t\t/// Gets or sets the upper limit of the range this TrackBar is working with.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the upper limit of the range this TrackBar is working with.\")]\n\t\tpublic int Maximum\n\t\t{\n\t\t\tget => _maximum;\n\t\t\tset\n\t\t\t{\n\t\t\t\t_maximum = value;\n\t\t\t\tRenewCurrentValue();\n\t\t\t\tMoveTrack();\n\t\t\t\tInvalidate();\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets the lower limit of the range this TrackBar is working with.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the lower limit of the range this TrackBar is working with.\")]\n\t\tpublic int Minimum\n\t\t{\n\t\t\tget => _minimum;\n\t\t\tset\n\t\t\t{\n\t\t\t\tif (!(value < 0))\n\t\t\t\t{\n\t\t\t\t\t_minimum = value;\n\t\t\t\t\tRenewCurrentValue();\n\t\t\t\t\tMoveTrack();\n\t\t\t\t\tInvalidate();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets a numeric value that represents the current position of the scroll box on the track bar.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets a numeric value that represents the current position of the scroll box on the track bar.\")]\n\t\tpublic int Value\n\t\t{\n\t\t\tget => _value;\n\t\t\tset\n\t\t\t{\n\t\t\t\tif (value != _value)\n\t\t\t\t{\n\t\t\t\t\t_value = value;\n\t\t\t\t\tRenewCurrentValue();\n\t\t\t\t\tMoveTrack();\n\t\t\t\t\tInvalidate();\n\t\t\t\t\tScroll?.Invoke(this);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t[Browsable(false)]\n\t\tpublic override Color BackColor => Color.Transparent;\n\n\t\t/// <summary>\n\t\t/// Gets or sets the value color in normal mouse sate.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\" Gets or sets the value color in normal mouse sate.\")]\n\t\tpublic Color ValueColor\n\t\t{\n\t\t\tget { return _valueColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_valueColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets the handler color.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the handler color.\")]\n\t\tpublic Color HandlerColor\n\t\t{\n\t\t\tget { return _handlerColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_handlerColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets the control BackColor.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the control backcolor.\")]\n\t\t[DisplayName(\"BackColor\")]\n\t\tpublic Color BackgroundColor\n\t\t{\n\t\t\tget { return _backgroundColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_backgroundColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets the value of the control whenever while disabled\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the value of the control whenever while disabled.\")]\n\t\tpublic Color DisabledValueColor\n\t\t{\n\t\t\tget { return _disabledValueColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_disabledValueColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets disabled BackColor used by the control\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets disabled backcolor used by the control.\")]\n\t\tpublic Color DisabledBackColor\n\t\t{\n\t\t\tget { return _disabledBackColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_disabledBackColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets the border color while the control disabled.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the border color while the control disabled.\")]\n\t\tpublic Color DisabledBorderColor\n\t\t{\n\t\t\tget { return _disabledBorderColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_disabledBorderColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets the handler color while the control disabled.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the handler color while the control disabled.\")]\n\t\tpublic Color DisabledHandlerColor\n\t\t{\n\t\t\tget { return _disabledHandlerColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_disabledHandlerColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\t\tprivate bool _isDerivedStyle = true;\n\n\t\t/// <summary>\n\t\t/// Gets or sets the whether this control reflect to parent form style.\n\t\t/// Set it to false if you want the style of this control be independent. \n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\t[Description(\"Gets or sets the whether this control reflect to parent(s) style. \\n \" +\n\t\t\t\t\t \"Set it to false if you want the style of this control be independent. \")]\n\t\tpublic bool IsDerivedStyle\n\t\t{\n\t\t\tget { return _isDerivedStyle; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_isDerivedStyle = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t#endregion\n\n\t\t#region Events\n\n\t\tpublic event ScrollEventHandler Scroll;\n\t\tpublic delegate void ScrollEventHandler(object sender);\n\n\t\t/// <summary>\n\t\t/// Handling mouse move event so that we can handle the thumb value.\n\t\t/// </summary>\n\t\t/// <param name=\"e\">MouseEventArgs</param>\n\t\tprotected override void OnMouseMove(MouseEventArgs e)\n\t\t{\n\t\t\tif (_variable && e.X > -1 && e.X < Width + 1)\n\t\t\t{\n\t\t\t\tValue = Minimum + (int)Math.Round((double)(Maximum - Minimum) * e.X / Width);\n\t\t\t}\n\t\t\tbase.OnMouseMove(e);\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Handling mouse down event so that we can put the thumb in clicked state.\n\t\t/// </summary>\n\t\t/// <param name=\"e\"></param>\n\t\tprotected override void OnMouseDown(MouseEventArgs e)\n\t\t{\n\t\t\tif (e.Button == MouseButtons.Left && Height > 0)\n\t\t\t{\n\t\t\t\tRenewCurrentValue();\n\t\t\t\t_track = new Rectangle(_currentValue, 0, 6, 16);\n\t\t\t\t_variable = new Rectangle(_currentValue, 0, 6, 16).Contains(e.Location);\n\t\t\t}\n\t\t\tbase.OnMouseDown(e);\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Handling mouse up event.\n\t\t/// </summary>\n\t\t/// <param name=\"e\">MouseEventArgs</param>\n\t\tprotected override void OnMouseUp(MouseEventArgs e)\n\t\t{\n\t\t\t_variable = false;\n\t\t\tbase.OnMouseUp(e);\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Handling key press event so that we can change the track value by keys.\n\t\t/// </summary>\n\t\t/// <param name=\"e\">MouseEventArgs</param>\n\t\tprotected override void OnKeyDown(KeyEventArgs e)\n\t\t{\n\t\t\tif (e.KeyCode == Keys.Subtract || e.KeyCode == Keys.Down || e.KeyCode == Keys.Left)\n\t\t\t{\n\t\t\t\tif (Value != 0)\n\t\t\t\t{\n\t\t\t\t\tValue -= 1;\n\t\t\t\t}\n\n\t\t\t}\n\t\t\telse if (e.KeyCode == Keys.Add || e.KeyCode == Keys.Up || e.KeyCode == Keys.Right)\n\t\t\t{\n\t\t\t\tif (Value != Maximum)\n\t\t\t\t{\n\t\t\t\t\tValue += 1;\n\t\t\t\t}\n\n\t\t\t}\n\t\t\tbase.OnKeyDown(e);\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Handling the height and value of the track while resizing the control.\n\t\t/// </summary>\n\t\t/// <param name=\"e\"></param>\n\t\tprotected override void OnResize(EventArgs e)\n\t\t{\n\t\t\tRenewCurrentValue();\n\t\t\tMoveTrack();\n\t\t\tHeight = 16;\n\t\t\tInvalidate();\n\t\t\tbase.OnResize(e);\n\t\t}\n\n\t\t/// <summary>\n\t\t/// The Method to provide the track value.\n\t\t/// </summary>\n\t\tprivate void MoveTrack()\n\t\t{\n\t\t\t_track = new Rectangle(_currentValue, 0, 6, 16);\n\t\t}\n\n\t\t/// <summary>\n\t\t/// The Method to renew the value of the track.\n\t\t/// </summary>\n\t\tpublic void RenewCurrentValue()\n\t\t{\n\t\t\t_currentValue = Convert.ToInt32(Math.Round((double)(Value - Minimum) / (Maximum - Minimum) * (Width - 6)));\n\t\t\tInvalidate();\n\t\t}\n\n\t\t#endregion\n\n\t}\n}"
  },
  {
    "path": "MetroSet UI/Design/MetroSetBadgeDesigner.cs",
    "content": "﻿/*\n * MetroSet UI - MetroSet UI Framework\n * \n * The MIT License (MIT)\n * Copyright (c) 2017 Narwin, https://github.com/N-a-r-w-i-n\n * \n * Permission is hereby granted, free of charge, to any person obtaining a copy of \n * this software and associated documentation files (the \"Software\"), to deal in the \n * Software without restriction, including without limitation the rights to use, copy, \n * modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, \n * and to permit persons to whom the Software is furnished to do so, subject to the \n * following conditions:\n * \n * The above copyright notice and this permission notice shall be included in \n * all copies or substantial portions of the Software.\n * \n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, \n * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A \n * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT \n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF \n * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE \n * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nusing System.ComponentModel.Design;\nusing System.Windows.Forms.Design;\nusing MetroSet_UI.Actions;\n\nnamespace MetroSet_UI.Design\n{\n    internal class MetroSetBadgeDesigner : ControlDesigner\n    {\n        private readonly string[] _propertiesToRemove =\n        {\n            \"BackgroundImage\", \"BackgroundImageLayout\", \"ForeColor\",\n            \"RightToLeft\",\"ImeMode\"\n        };\n\n        protected override void PostFilterProperties(System.Collections.IDictionary properties)\n        {\n            foreach (var property in _propertiesToRemove)\n            {\n                properties.Remove(property);\n            }\n            base.PostFilterProperties(properties);\n        }\n\n        private DesignerActionListCollection _actionListCollection;\n\n        public override DesignerActionListCollection ActionLists => _actionListCollection ?? (_actionListCollection =\n                                                                        new DesignerActionListCollection { new MetroSetBadgeActionList(Component) });\n    }\n}"
  },
  {
    "path": "MetroSet UI/Design/MetroSetButtonDesigner.cs",
    "content": "﻿/*\n * MetroSet UI - MetroSet UI Framework\n * \n * The MIT License (MIT)\n * Copyright (c) 2017 Narwin, https://github.com/N-a-r-w-i-n\n * \n * Permission is hereby granted, free of charge, to any person obtaining a copy of \n * this software and associated documentation files (the \"Software\"), to deal in the \n * Software without restriction, including without limitation the rights to use, copy, \n * modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, \n * and to permit persons to whom the Software is furnished to do so, subject to the \n * following conditions:\n * \n * The above copyright notice and this permission notice shall be included in \n * all copies or substantial portions of the Software.\n * \n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, \n * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A \n * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT \n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF \n * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE \n * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nusing System.ComponentModel.Design;\nusing System.Windows.Forms.Design;\nusing MetroSet_UI.Actions;\n\nnamespace MetroSet_UI.Design\n{\n    internal class MetroSetButtonDesigner : ControlDesigner\n    {\n\n        private readonly string[] _propertiesToRemove =\n        {\n            \"BackgroundImage\", \"BackgroundImageLayout\", \"ForeColor\",\n            \"RightToLeft\",\"ImeMode\"\n        };\n\n\n        protected override void PostFilterProperties(System.Collections.IDictionary properties)\n        {\n            foreach (var property in _propertiesToRemove)\n            {\n                properties.Remove(property);\n            }\n            base.PostFilterProperties(properties);\n        }\n\n        private DesignerActionListCollection _actionListCollection;\n\n        public override DesignerActionListCollection ActionLists => _actionListCollection ?? (_actionListCollection =\n                                                                        new DesignerActionListCollection { new MetroSetButtonActionList(Component) });\n    }\n}"
  },
  {
    "path": "MetroSet UI/Design/MetroSetCheckBoxDesigner.cs",
    "content": "﻿/*\n * MetroSet UI - MetroSet UI Framework\n * \n * The MIT License (MIT)\n * Copyright (c) 2017 Narwin, https://github.com/N-a-r-w-i-n\n * \n * Permission is hereby granted, free of charge, to any person obtaining a copy of \n * this software and associated documentation files (the \"Software\"), to deal in the \n * Software without restriction, including without limitation the rights to use, copy, \n * modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, \n * and to permit persons to whom the Software is furnished to do so, subject to the \n * following conditions:\n * \n * The above copyright notice and this permission notice shall be included in \n * all copies or substantial portions of the Software.\n * \n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, \n * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A \n * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT \n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF \n * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE \n * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nusing System.ComponentModel.Design;\nusing System.Windows.Forms.Design;\nusing MetroSet_UI.Actions;\n\nnamespace MetroSet_UI.Design\n{\n    internal class MetroSetCheckBoxDesigner : ControlDesigner\n    {\n        private DesignerActionListCollection _actionListCollection;\n\n        public override DesignerActionListCollection ActionLists => _actionListCollection ?? (_actionListCollection =\n                                                                        new DesignerActionListCollection { new MetroSetCheckBoxActionList(Component) });\n    }\n}"
  },
  {
    "path": "MetroSet UI/Design/MetroSetControBoxDesigner.cs",
    "content": "﻿/*\n * MetroSet UI - MetroSet UI Framework\n * \n * The MIT License (MIT)\n * Copyright (c) 2017 Narwin, https://github.com/N-a-r-w-i-n\n * \n * Permission is hereby granted, free of charge, to any person obtaining a copy of \n * this software and associated documentation files (the \"Software\"), to deal in the \n * Software without restriction, including without limitation the rights to use, copy, \n * modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, \n * and to permit persons to whom the Software is furnished to do so, subject to the \n * following conditions:\n * \n * The above copyright notice and this permission notice shall be included in \n * all copies or substantial portions of the Software.\n * \n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, \n * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A \n * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT \n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF \n * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE \n * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nusing System.ComponentModel.Design;\nusing System.Windows.Forms.Design;\nusing MetroSet_UI.Actions;\n\nnamespace MetroSet_UI.Design\n{\n    internal class MetroSetControBoxDesigner : ControlDesigner\n    {\n        private DesignerActionListCollection _actionListCollection;\n\n        public override DesignerActionListCollection ActionLists => _actionListCollection ?? (_actionListCollection =\n                                                                        new DesignerActionListCollection { new MetroSetControlBoxActionList(Component) });\n    }\n}"
  },
  {
    "path": "MetroSet UI/Design/MetroSetDefaultButtonDesigner.cs",
    "content": "﻿/*\n * MetroSet UI - MetroSet UI Framework\n * \n * The MIT License (MIT)\n * Copyright (c) 2017 Narwin, https://github.com/N-a-r-w-i-n\n * \n * Permission is hereby granted, free of charge, to any person obtaining a copy of \n * this software and associated documentation files (the \"Software\"), to deal in the \n * Software without restriction, including without limitation the rights to use, copy, \n * modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, \n * and to permit persons to whom the Software is furnished to do so, subject to the \n * following conditions:\n * \n * The above copyright notice and this permission notice shall be included in \n * all copies or substantial portions of the Software.\n * \n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, \n * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A \n * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT \n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF \n * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE \n * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nusing System.ComponentModel.Design;\nusing System.Windows.Forms.Design;\nusing MetroSet_UI.Actions;\n\nnamespace MetroSet_UI.Design\n{\n    internal class MetroSetDefaultButtonDesigner : ControlDesigner\n    {\n\n        private readonly string[] _propertiesToRemove =\n        {\n            \"BackgroundImage\", \"BackgroundImageLayout\", \"ForeColor\",\n            \"RightToLeft\",\"ImeMode\"\n        };\n\n\n        protected override void PostFilterProperties(System.Collections.IDictionary properties)\n        {\n            foreach (var property in _propertiesToRemove)\n            {\n                properties.Remove(property);\n            }\n            base.PostFilterProperties(properties);\n        }\n\n        private DesignerActionListCollection _actionListCollection;\n\n        public override DesignerActionListCollection ActionLists => _actionListCollection ?? (_actionListCollection =\n                                                                        new DesignerActionListCollection { new MetroSetDefaultButtonActionList(Component) });\n    }\n}"
  },
  {
    "path": "MetroSet UI/Design/MetroSetDividerDesigner.cs",
    "content": "﻿/*\n * MetroSet UI - MetroSet UI Framework\n *\n * The MIT License (MIT)\n * Copyright (c) 2017 Narwin, https://github.com/N-a-r-w-i-n\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\n * this software and associated documentation files (the \"Software\"), to deal in the\n * Software without restriction, including without limitation the rights to use, copy,\n * modify, merge, publish, distribute, sublicense, and/or sell copies of the Software,\n * and to permit persons to whom the Software is furnished to do so, subject to the\n * following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,\n * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A\n * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF\n * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE\n * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nusing System.ComponentModel.Design;\nusing System.Windows.Forms.Design;\nusing MetroSet_UI.Actions;\n\nnamespace MetroSet_UI.Design\n{\n    internal class MetroSetDividerDesigner : ControlDesigner\n    {\n        private readonly string[] _propertiesToRemove =\n{\n            \"BackgroundImage\", \"BackgroundImageLayout\",\n            \"RightToLeft\",\"ImeMode\"\n        };\n\n        protected override void PostFilterProperties(System.Collections.IDictionary properties)\n        {\n            foreach (var property in _propertiesToRemove)\n            {\n                properties.Remove(property);\n            }\n            base.PostFilterProperties(properties);\n        }\n\n        private DesignerActionListCollection _actionListCollection;\n\n        public override DesignerActionListCollection ActionLists => _actionListCollection ?? (_actionListCollection =\n                                                                        new DesignerActionListCollection { new MetroSetDividerActionList(Component) });\n    }\n}"
  },
  {
    "path": "MetroSet UI/Design/MetroSetEllipseDesigner.cs",
    "content": "﻿/*\n * MetroSet UI - MetroSet UI Framework\n * \n * The MIT License (MIT)\n * Copyright (c) 2017 Narwin, https://github.com/N-a-r-w-i-n\n * \n * Permission is hereby granted, free of charge, to any person obtaining a copy of \n * this software and associated documentation files (the \"Software\"), to deal in the \n * Software without restriction, including without limitation the rights to use, copy, \n * modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, \n * and to permit persons to whom the Software is furnished to do so, subject to the \n * following conditions:\n * \n * The above copyright notice and this permission notice shall be included in \n * all copies or substantial portions of the Software.\n * \n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, \n * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A \n * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT \n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF \n * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE \n * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nusing System.ComponentModel.Design;\nusing System.Windows.Forms.Design;\nusing MetroSet_UI.Actions;\n\nnamespace MetroSet_UI.Design\n{\n    internal class MetroSetEllipseDesigner : ControlDesigner\n    {\n\n        private readonly string[] _propertiesToRemove =\n        {\n            \"BackgroundImage\", \"BackgroundImageLayout\", \"ForeColor\",\n            \"RightToLeft\",\"ImeMode\"\n        };\n\n\n        protected override void PostFilterProperties(System.Collections.IDictionary properties)\n        {\n            foreach (var property in _propertiesToRemove)\n            {\n                properties.Remove(property);\n            }\n            base.PostFilterProperties(properties);\n        }\n\n        private DesignerActionListCollection _actionListCollection;\n\n        public override DesignerActionListCollection ActionLists => _actionListCollection ?? (_actionListCollection =\n                                                                        new DesignerActionListCollection { new MetroSetEllipseActionList(Component) });\n    }\n}"
  },
  {
    "path": "MetroSet UI/Design/MetroSetLabelDesigner.cs",
    "content": "﻿/*\n * MetroSet UI - MetroSet UI Framework\n * \n * The MIT License (MIT)\n * Copyright (c) 2017 Narwin, https://github.com/N-a-r-w-i-n\n * \n * Permission is hereby granted, free of charge, to any person obtaining a copy of \n * this software and associated documentation files (the \"Software\"), to deal in the \n * Software without restriction, including without limitation the rights to use, copy, \n * modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, \n * and to permit persons to whom the Software is furnished to do so, subject to the \n * following conditions:\n * \n * The above copyright notice and this permission notice shall be included in \n * all copies or substantial portions of the Software.\n * \n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, \n * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A \n * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT \n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF \n * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE \n * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nusing System.ComponentModel.Design;\nusing System.Windows.Forms.Design;\nusing MetroSet_UI.Actions;\n\nnamespace MetroSet_UI.Design\n{\n    internal class MetroSetLabelDesigner : ControlDesigner\n    {\n        private DesignerActionListCollection _actionListCollection;\n\n        public override DesignerActionListCollection ActionLists => _actionListCollection ?? (_actionListCollection =\n                                                                        new DesignerActionListCollection { new MetroSetLabelActionList(Component) });\n    }\n}"
  },
  {
    "path": "MetroSet UI/Design/MetroSetLinkDesigner.cs",
    "content": "﻿/*\n * MetroSet UI - MetroSet UI Framework\n * \n * The MIT License (MIT)\n * Copyright (c) 2017 Narwin, https://github.com/N-a-r-w-i-n\n * \n * Permission is hereby granted, free of charge, to any person obtaining a copy of \n * this software and associated documentation files (the \"Software\"), to deal in the \n * Software without restriction, including without limitation the rights to use, copy, \n * modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, \n * and to permit persons to whom the Software is furnished to do so, subject to the \n * following conditions:\n * \n * The above copyright notice and this permission notice shall be included in \n * all copies or substantial portions of the Software.\n * \n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, \n * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A \n * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT \n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF \n * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE \n * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nusing System.ComponentModel.Design;\nusing System.Windows.Forms.Design;\nusing MetroSet_UI.Actions;\n\nnamespace MetroSet_UI.Design\n{\n    internal class MetroSetLinkDesigner : ControlDesigner\n    {\n        private DesignerActionListCollection _actionListCollection;\n\n        public override DesignerActionListCollection ActionLists => _actionListCollection ?? (_actionListCollection =\n                                                                        new DesignerActionListCollection { new MetroSetLinkActionList(Component) });\n    }\n}"
  },
  {
    "path": "MetroSet UI/Design/MetroSetListBoxDesigner.cs",
    "content": "﻿/*\n * MetroSet UI - MetroSet UI Framework\n * \n * The MIT License (MIT)\n * Copyright (c) 2017 Narwin, https://github.com/N-a-r-w-i-n\n * \n * Permission is hereby granted, free of charge, to any person obtaining a copy of \n * this software and associated documentation files (the \"Software\"), to deal in the \n * Software without restriction, including without limitation the rights to use, copy, \n * modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, \n * and to permit persons to whom the Software is furnished to do so, subject to the \n * following conditions:\n * \n * The above copyright notice and this permission notice shall be included in \n * all copies or substantial portions of the Software.\n * \n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, \n * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A \n * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT \n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF \n * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE \n * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nusing System.ComponentModel.Design;\nusing System.Windows.Forms.Design;\nusing MetroSet_UI.Actions;\n\nnamespace MetroSet_UI.Design\n{\n    internal class MetroSetListBoxDesigner : ControlDesigner\n    {\n\n        private readonly string[] _propertiesToRemove =\n        {\n            \"BackgroundImage\", \"BackgroundImageLayout\",\n            \"RightToLeft\",\"ImeMode\"\n        };\n\n\n        protected override void PostFilterProperties(System.Collections.IDictionary properties)\n        {\n            foreach (var property in _propertiesToRemove)\n            {\n                properties.Remove(property);\n            }\n            base.PostFilterProperties(properties);\n        }\n\n        private DesignerActionListCollection _actionListCollection;\n\n        public override DesignerActionListCollection ActionLists => _actionListCollection ?? (_actionListCollection =\n                                                                        new DesignerActionListCollection { new MetroSetListBoxActionList(Component) });\n    }\n}"
  },
  {
    "path": "MetroSet UI/Design/MetroSetNumericDesigner.cs",
    "content": "﻿/*\n * MetroSet UI - MetroSet UI Framework\n * \n * The MIT License (MIT)\n * Copyright (c) 2017 Narwin, https://github.com/N-a-r-w-i-n\n * \n * Permission is hereby granted, free of charge, to any person obtaining a copy of \n * this software and associated documentation files (the \"Software\"), to deal in the \n * Software without restriction, including without limitation the rights to use, copy, \n * modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, \n * and to permit persons to whom the Software is furnished to do so, subject to the \n * following conditions:\n * \n * The above copyright notice and this permission notice shall be included in \n * all copies or substantial portions of the Software.\n * \n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, \n * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A \n * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT \n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF \n * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE \n * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nusing System.ComponentModel.Design;\nusing System.Windows.Forms.Design;\nusing MetroSet_UI.Actions;\n\nnamespace MetroSet_UI.Design\n{\n    internal class MetroSetNumericDesigner : ControlDesigner\n    {\n        private DesignerActionListCollection _actionListCollection;\n\n        public override DesignerActionListCollection ActionLists => _actionListCollection ?? (_actionListCollection =\n                                                                        new DesignerActionListCollection { new MetroSetNumericActionList(Component) });\n    }\n}"
  },
  {
    "path": "MetroSet UI/Design/MetroSetProgressBarDesigner.cs",
    "content": "﻿/*\n * MetroSet UI - MetroSet UI Framework\n * \n * The MIT License (MIT)\n * Copyright (c) 2017 Narwin, https://github.com/N-a-r-w-i-n\n * \n * Permission is hereby granted, free of charge, to any person obtaining a copy of \n * this software and associated documentation files (the \"Software\"), to deal in the \n * Software without restriction, including without limitation the rights to use, copy, \n * modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, \n * and to permit persons to whom the Software is furnished to do so, subject to the \n * following conditions:\n * \n * The above copyright notice and this permission notice shall be included in \n * all copies or substantial portions of the Software.\n * \n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, \n * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A \n * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT \n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF \n * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE \n * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nusing System.ComponentModel.Design;\nusing System.Windows.Forms.Design;\nusing MetroSet_UI.Actions;\n\nnamespace MetroSet_UI.Design\n{\n    internal class MetroSetProgressBarDesigner : ControlDesigner\n    {\n        private DesignerActionListCollection _actionListCollection;\n\n        public override DesignerActionListCollection ActionLists => _actionListCollection ?? (_actionListCollection =\n                                                                        new DesignerActionListCollection { new MetroSetProgressBarActionList(Component) });\n    }\n}"
  },
  {
    "path": "MetroSet UI/Design/MetroSetRadioButtonDesigner.cs",
    "content": "﻿/*\n * MetroSet UI - MetroSet UI Framework\n * \n * The MIT License (MIT)\n * Copyright (c) 2017 Narwin, https://github.com/N-a-r-w-i-n\n * \n * Permission is hereby granted, free of charge, to any person obtaining a copy of \n * this software and associated documentation files (the \"Software\"), to deal in the \n * Software without restriction, including without limitation the rights to use, copy, \n * modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, \n * and to permit persons to whom the Software is furnished to do so, subject to the \n * following conditions:\n * \n * The above copyright notice and this permission notice shall be included in \n * all copies or substantial portions of the Software.\n * \n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, \n * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A \n * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT \n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF \n * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE \n * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nusing System.ComponentModel.Design;\nusing System.Windows.Forms.Design;\nusing MetroSet_UI.Actions;\n\nnamespace MetroSet_UI.Design\n{\n    internal class MetroSetRadioButtonDesigner : ControlDesigner\n    {\n        private DesignerActionListCollection _actionListCollection;\n\n        public override DesignerActionListCollection ActionLists => _actionListCollection ?? (_actionListCollection =\n                                                                        new DesignerActionListCollection { new MetroSetRadioButtonActionList(Component) });\n    }\n}"
  },
  {
    "path": "MetroSet UI/Design/MetroSetRichTextBoxDesigner.cs",
    "content": "﻿/*\n * MetroSet UI - MetroSet UI Framework\n * \n * The MIT License (MIT)\n * Copyright (c) 2017 Narwin, https://github.com/N-a-r-w-i-n\n * \n * Permission is hereby granted, free of charge, to any person obtaining a copy of \n * this software and associated documentation files (the \"Software\"), to deal in the \n * Software without restriction, including without limitation the rights to use, copy, \n * modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, \n * and to permit persons to whom the Software is furnished to do so, subject to the \n * following conditions:\n * \n * The above copyright notice and this permission notice shall be included in \n * all copies or substantial portions of the Software.\n * \n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, \n * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A \n * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT \n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF \n * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE \n * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nusing System.ComponentModel.Design;\nusing System.Windows.Forms.Design;\nusing MetroSet_UI.Actions;\n\nnamespace MetroSet_UI.Design\n{\n    internal class MetroSetRichTextBoxDesigner : ControlDesigner\n    {\n        private DesignerActionListCollection _actionListCollection;\n\n        public override DesignerActionListCollection ActionLists => _actionListCollection ?? (_actionListCollection =\n                                                                        new DesignerActionListCollection { new MetroSetRichTextBoxActionList(Component) });\n    }\n}"
  },
  {
    "path": "MetroSet UI/Design/MetroSetScrollBarDesigner.cs",
    "content": "﻿/*\n * MetroSet UI - MetroSet UI Framework\n * \n * The MIT License (MIT)\n * Copyright (c) 2017 Narwin, https://github.com/N-a-r-w-i-n\n * \n * Permission is hereby granted, free of charge, to any person obtaining a copy of \n * this software and associated documentation files (the \"Software\"), to deal in the \n * Software without restriction, including without limitation the rights to use, copy, \n * modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, \n * and to permit persons to whom the Software is furnished to do so, subject to the \n * following conditions:\n * \n * The above copyright notice and this permission notice shall be included in \n * all copies or substantial portions of the Software.\n * \n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, \n * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A \n * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT \n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF \n * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE \n * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nusing System.ComponentModel.Design;\nusing System.Windows.Forms.Design;\nusing MetroSet_UI.Actions;\n\nnamespace MetroSet_UI.Design\n{\n    internal class MetroSetScrollBarDesigner : ControlDesigner\n    {\n\n        private readonly string[] _propertiesToRemove =\n        {\n            \"BackgroundImage\", \"BackgroundImageLayout\",\n            \"RightToLeft\",\"ImeMode\"\n        };\n\n\n        protected override void PostFilterProperties(System.Collections.IDictionary properties)\n        {\n            foreach (var property in _propertiesToRemove)\n            {\n                properties.Remove(property);\n            }\n            base.PostFilterProperties(properties);\n        }\n\n        private DesignerActionListCollection _actionListCollection;\n\n        public override DesignerActionListCollection ActionLists => _actionListCollection ?? (_actionListCollection =\n                                                                        new DesignerActionListCollection { new MetroSetScrollBarActionList(Component) });\n    }\n}"
  },
  {
    "path": "MetroSet UI/Design/MetroSetSwitchDesigner.cs",
    "content": "﻿/*\n * MetroSet UI - MetroSet UI Framework\n * \n * The MIT License (MIT)\n * Copyright (c) 2017 Narwin, https://github.com/N-a-r-w-i-n\n * \n * Permission is hereby granted, free of charge, to any person obtaining a copy of \n * this software and associated documentation files (the \"Software\"), to deal in the \n * Software without restriction, including without limitation the rights to use, copy, \n * modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, \n * and to permit persons to whom the Software is furnished to do so, subject to the \n * following conditions:\n * \n * The above copyright notice and this permission notice shall be included in \n * all copies or substantial portions of the Software.\n * \n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, \n * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A \n * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT \n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF \n * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE \n * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nusing System.ComponentModel.Design;\nusing System.Windows.Forms.Design;\nusing MetroSet_UI.Actions;\n\nnamespace MetroSet_UI.Design\n{\n    internal class MetroSetSwitchDesigner : ControlDesigner\n    {\n        private DesignerActionListCollection _actionListCollection;\n\n        public override DesignerActionListCollection ActionLists => _actionListCollection ?? (_actionListCollection =\n                                                                        new DesignerActionListCollection { new MetroSetSwitchActionList(Component) });\n    }\n}"
  },
  {
    "path": "MetroSet UI/Design/MetroSetTabControlDesigner.cs",
    "content": "﻿/*\n * MetroSet UI - MetroSet UI Framework\n *\n * The MIT License (MIT)\n * Copyright (c) 2017 Narwin, https://github.com/N-a-r-w-i-n\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\n * this software and associated documentation files (the \"Software\"), to deal in the\n * Software without restriction, including without limitation the rights to use, copy,\n * modify, merge, publish, distribute, sublicense, and/or sell copies of the Software,\n * and to permit persons to whom the Software is furnished to do so, subject to the\n * following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,\n * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A\n * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF\n * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE\n * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\n\nusing System;\nusing System.Collections;\nusing System.ComponentModel;\nusing System.ComponentModel.Design;\nusing System.Drawing;\nusing System.Runtime.InteropServices;\nusing System.Windows.Forms;\nusing System.Windows.Forms.Design;\nusing MetroSet_UI.Child;\nusing MetroSet_UI.Controls;\nusing MetroSet_UI.Native;\n\nnamespace MetroSet_UI.Design\n{\n\t/// <summary>\n\t/// The below class designer is a part from : https://www.codeproject.com/Articles/38014/KRBTabControl after a few clean code clean up.\n\t/// </summary>\n\tpublic class MetroSetTabControlDesigner : ParentControlDesigner\n\t{\n\t\t#region Instance Members\n\n\t\tprivate DesignerVerbCollection _verbs;\n\t\tprivate IDesignerHost _designerHost;\n\t\tprivate IComponentChangeService _changeService;\n\n\t\t#endregion Instance Members\n\n\t\t#region Constructor\n\n\t\t#endregion Constructor\n\n\t\t#region Property\n\n\t\tpublic override DesignerVerbCollection Verbs\n\t\t{\n\t\t\tget\n\t\t\t{\n\t\t\t\tif (_verbs == null)\n\t\t\t\t{\n\t\t\t\t\tvar addVerbs = new[]\n\t\t\t\t\t{\n\t\t\t\t\t\tnew DesignerVerb(\"Add Tab\", OnAddTab),\n\t\t\t\t\t\tnew DesignerVerb(\"Remove Tab\", OnRemoveTab)\n\t\t\t\t\t};\n\n\t\t\t\t\t_verbs = new DesignerVerbCollection();\n\t\t\t\t\t_verbs.AddRange(addVerbs);\n\n\t\t\t\t\tif (!(Control is MetroSetTabControl parentControl))\n\t\t\t\t\t\treturn _verbs;\n\t\t\t\t\tswitch (parentControl.TabPages.Count)\n\t\t\t\t\t{\n\t\t\t\t\t\tcase 0:\n\t\t\t\t\t\t\t_verbs[1].Enabled = false;\n\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t_verbs[1].Enabled = true;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn _verbs;\n\t\t\t}\n\t\t}\n\n\t\t#endregion Property\n\n\t\t#region Override Methods\n\n\t\tpublic override void Initialize(IComponent component)\n\t\t{\n\t\t\tbase.Initialize(component);\n\n\t\t\t_designerHost = (IDesignerHost)GetService(typeof(IDesignerHost));\n\t\t\t_changeService = (IComponentChangeService)GetService(typeof(IComponentChangeService));\n\n\t\t\t// Update your designer verb whenever ComponentChanged event occurs.\n\t\t\tif (_changeService != null)\n\t\t\t\t_changeService.ComponentChanged += OnComponentChanged;\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Override this method to remove unused or inappropriate properties.\n\t\t/// </summary>\n\t\t/// <param name=\"properties\">Properties collection of the control.</param>\n\t\tprotected override void PostFilterProperties(IDictionary properties)\n\t\t{\n\t\t\tproperties.Remove(\"Margin\");\n\t\t\tproperties.Remove(\"ImeMode\");\n\t\t\tproperties.Remove(\"Padding\");\n\t\t\tproperties.Remove(\"Enabled\");\n\t\t\tproperties.Remove(\"RightToLeft\");\n\t\t\tproperties.Remove(\"RightToLeftLayout\");\n\t\t\tproperties.Remove(\"ApplicationSettings\");\n\t\t\tproperties.Remove(\"DataBindings\");\n\n\t\t\tbase.PostFilterProperties(properties);\n\t\t}\n\n\t\tprotected override void WndProc(ref Message m)\n\t\t{\n\t\t\tbase.WndProc(ref m);\n\n\t\t\tif (m.Msg == (int)User32.Msgs.WM_NCHITTEST)\n\t\t\t{\n\t\t\t\tif (m.Result.ToInt32() == User32._HT_TRANSPARENT)\n\t\t\t\t\tm.Result = (IntPtr)User32._HTCLIENT;\n\t\t\t}\n\t\t}\n\n\t\tprotected override bool GetHitTest(Point point)\n\t\t{\n\t\t\tvar selectionService = (ISelectionService)GetService(typeof(ISelectionService));\n\t\t\tvar selectedObject = selectionService?.PrimarySelection;\n\t\t\tif (selectedObject != null && selectedObject.Equals(Control))\n\t\t\t{\n\t\t\t\tvar p = Control.PointToClient(point);\n\n\t\t\t\tvar hti = new User32.TCHITTESTINFO(p, User32.TabControlHitTest.TCHT_ONITEM);\n\n\t\t\t\tvar m = new Message\n\t\t\t\t{\n\t\t\t\t\tHWnd = Control.Handle,\n\t\t\t\t\tMsg = User32._TCM_HITTEST\n\t\t\t\t};\n\n\t\t\t\tvar lParam = Marshal.AllocHGlobal(Marshal.SizeOf(hti));\n\t\t\t\tMarshal.StructureToPtr(hti, lParam, false);\n\t\t\t\tm.LParam = lParam;\n\n\t\t\t\tbase.WndProc(ref m);\n\t\t\t\tMarshal.FreeHGlobal(lParam);\n\n\t\t\t\tif (m.Result.ToInt32() != -1)\n\t\t\t\t\treturn hti.flags != User32.TabControlHitTest.TCHT_NOWHERE;\n\t\t\t}\n\n\t\t\treturn false;\n\t\t}\n\n\t\tprotected override void Dispose(bool disposing)\n\t\t{\n\t\t\tif (disposing && _changeService != null)\n\t\t\t\t_changeService.ComponentChanged -= OnComponentChanged;\n\n\t\t\tbase.Dispose(disposing);\n\t\t}\n\n\t\t#endregion Override Methods\n\n\t\t#region Helper Methods\n\n\t\t/*  When the designer modifies the MetroSetTabControl.TabPages collection,\n                the Properties window is not updated until the control is deselected and then reselected. To\n                correct this defect, you need to explicitly notify the IDE that a change has been made by using\n                the PropertyDescriptor for the property. */\n\n\t\tprivate void OnAddTab(Object sender, EventArgs e)\n\t\t{\n\t\t\tvar parentControl = Control as MetroSetTabControl;\n\n\t\t\tvar oldTabs = parentControl?.TabPages;\n\n\t\t\t// Notify the IDE that the TabPages collection property of the current tab control has changed.\n\t\t\tRaiseComponentChanging(TypeDescriptor.GetProperties(parentControl)[\"TabPages\"]);\n\t\t\tvar newTab = (MetroSetSetTabPage)_designerHost.CreateComponent(typeof(MetroSetSetTabPage));\n\t\t\tnewTab.Text = newTab.Name;\n\t\t\tparentControl?.TabPages.Add(newTab);\n\t\t\tif (parentControl == null)\n\t\t\t\treturn;\n\t\t\tparentControl.SelectedTab = newTab;\n\t\t\tRaiseComponentChanged(TypeDescriptor.GetProperties(parentControl)[\"TabPages\"], oldTabs,\n\t\t\t\t\t\t\t\t  parentControl.TabPages);\n\t\t}\n\n\t\tprivate void OnRemoveTab(Object sender, EventArgs e)\n\t\t{\n\t\t\tvar parentControl = Control as MetroSetTabControl;\n\n\t\t\tif (parentControl != null && parentControl.SelectedIndex < 0)\n\t\t\t\treturn;\n\n\t\t\tvar oldTabs = parentControl?.TabPages;\n\n\t\t\t// Notify the IDE that the TabPages collection property of the current tab control has changed.\n\t\t\tRaiseComponentChanging(TypeDescriptor.GetProperties(parentControl)[\"TabPages\"]);\n\t\t\t_designerHost.DestroyComponent(parentControl?.SelectedTab);\n\t\t\tRaiseComponentChanged(TypeDescriptor.GetProperties(parentControl)[\"TabPages\"], oldTabs, parentControl?.TabPages);\n\t\t}\n\n\t\tprivate void OnComponentChanged(object sender, ComponentChangedEventArgs e)\n\t\t{\n\t\t\tif (!(e.Component is MetroSetTabControl parentControl) || e.Member.Name != \"TabPages\")\n\t\t\t\treturn;\n\t\t\tforeach (DesignerVerb verb in Verbs)\n\t\t\t{\n\t\t\t\tif (verb.Text != \"Remove Tab\")\n\t\t\t\t\tcontinue;\n\t\t\t\tswitch (parentControl.TabPages.Count)\n\t\t\t\t{\n\t\t\t\t\tcase 0:\n\t\t\t\t\t\tverb.Enabled = false;\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tverb.Enabled = true;\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\t#endregion Helper Methods\n\t}\n}"
  },
  {
    "path": "MetroSet UI/Design/MetroSetTabpageDesigner.cs",
    "content": "﻿/*\n * MetroSet UI - MetroSet UI Framework\n *\n * The MIT License (MIT)\n * Copyright (c) 2017 Narwin, https://github.com/N-a-r-w-i-n\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\n * this software and associated documentation files (the \"Software\"), to deal in the\n * Software without restriction, including without limitation the rights to use, copy,\n * modify, merge, publish, distribute, sublicense, and/or sell copies of the Software,\n * and to permit persons to whom the Software is furnished to do so, subject to the\n * following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,\n * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A\n * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF\n * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE\n * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\n\nusing System.Windows.Forms.Design;\n\nnamespace MetroSet_UI.Design\n{\n    internal class MetroSetTabPageDesigner : ScrollableControlDesigner\n    {\n        private readonly string[] _propertiesToRemove =\n  {\n                  \"BackgroundImage\", \"BackgroundImageLayout\", \"ForeColor\",\n                  \"RightToLeft\",\"ImeMode\",\"BorderStyle\",\"Margin\",\"Padding\",\"Enabled\",\"UseVisualStyleBackColor\"\n        };\n\n        protected override void PostFilterProperties(System.Collections.IDictionary properties)\n        {\n            foreach (var property in _propertiesToRemove)\n            {\n                properties.Remove(property);\n            }\n            base.PostFilterProperties(properties);\n        }\n    }\n}"
  },
  {
    "path": "MetroSet UI/Design/MetroSetTextBoxDesigner.cs",
    "content": "﻿/*\n * MetroSet UI - MetroSet UI Framework\n * \n * The MIT License (MIT)\n * Copyright (c) 2017 Narwin, https://github.com/N-a-r-w-i-n\n * \n * Permission is hereby granted, free of charge, to any person obtaining a copy of \n * this software and associated documentation files (the \"Software\"), to deal in the \n * Software without restriction, including without limitation the rights to use, copy, \n * modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, \n * and to permit persons to whom the Software is furnished to do so, subject to the \n * following conditions:\n * \n * The above copyright notice and this permission notice shall be included in \n * all copies or substantial portions of the Software.\n * \n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, \n * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A \n * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT \n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF \n * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE \n * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nusing System.ComponentModel.Design;\nusing System.Windows.Forms.Design;\nusing MetroSet_UI.Actions;\n\nnamespace MetroSet_UI.Design\n{\n    internal class MetroSetTextBoxDesigner : ControlDesigner\n    {\n        private DesignerActionListCollection _actionListCollection;\n\n        public override DesignerActionListCollection ActionLists => _actionListCollection ?? (_actionListCollection =\n                                                                        new DesignerActionListCollection { new MetroSetTextBoxActionList(Component) });\n    }\n}"
  },
  {
    "path": "MetroSet UI/Design/MetroSetTileDesigner.cs",
    "content": "﻿/*\n * MetroSet UI - MetroSet UI Framework\n * \n * The MIT License (MIT)\n * Copyright (c) 2017 Narwin, https://github.com/N-a-r-w-i-n\n * \n * Permission is hereby granted, free of charge, to any person obtaining a copy of \n * this software and associated documentation files (the \"Software\"), to deal in the \n * Software without restriction, including without limitation the rights to use, copy, \n * modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, \n * and to permit persons to whom the Software is furnished to do so, subject to the \n * following conditions:\n * \n * The above copyright notice and this permission notice shall be included in \n * all copies or substantial portions of the Software.\n * \n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, \n * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A \n * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT \n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF \n * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE \n * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nusing System.ComponentModel.Design;\nusing System.Windows.Forms.Design;\nusing MetroSet_UI.Actions;\n\nnamespace MetroSet_UI.Design\n{\n    internal class MetroSetTileDesigner : ControlDesigner\n    {\n\n        private readonly string[] _propertiesToRemove =\n        {\n             \"BackgroundImageLayout\", \"ForeColor\",\n            \"RightToLeft\",\"ImeMode\"\n        };\n\n\n        protected override void PostFilterProperties(System.Collections.IDictionary properties)\n        {\n            foreach (var property in _propertiesToRemove)\n            {\n                properties.Remove(property);\n            }\n            base.PostFilterProperties(properties);\n        }\n\n        private DesignerActionListCollection _actionListCollection;\n\n        public override DesignerActionListCollection ActionLists => _actionListCollection ?? (_actionListCollection =\n                                                                        new DesignerActionListCollection { new MetroSetTileActionList(Component) });\n    }\n}"
  },
  {
    "path": "MetroSet UI/Design/MetroSetToolTipDesigner.cs",
    "content": "﻿/*\n * MetroSet UI - MetroSet UI Framework\n *\n * The MIT License (MIT)\n * Copyright (c) 2017 Narwin, https://github.com/N-a-r-w-i-n\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\n * this software and associated documentation files (the \"Software\"), to deal in the\n * Software without restriction, including without limitation the rights to use, copy,\n * modify, merge, publish, distribute, sublicense, and/or sell copies of the Software,\n * and to permit persons to whom the Software is furnished to do so, subject to the\n * following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,\n * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A\n * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF\n * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE\n * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nusing System.ComponentModel.Design;\nusing MetroSet_UI.Actions;\n\nnamespace MetroSet_UI.Design\n{\n    internal class MetroSetToolTipDesigner : ComponentDesigner\n    {\n        private DesignerActionListCollection _actionListCollection;\n\n        public override DesignerActionListCollection ActionLists => _actionListCollection ?? (_actionListCollection =\n                                                                        new DesignerActionListCollection { new MetroSetToolTipActionList(Component) });\n    }\n}"
  },
  {
    "path": "MetroSet UI/Design/MetroSetTrackBarDesigner.cs",
    "content": "﻿/*\n * MetroSet UI - MetroSet UI Framework\n * \n * The MIT License (MIT)\n * Copyright (c) 2017 Narwin, https://github.com/N-a-r-w-i-n\n * \n * Permission is hereby granted, free of charge, to any person obtaining a copy of \n * this software and associated documentation files (the \"Software\"), to deal in the \n * Software without restriction, including without limitation the rights to use, copy, \n * modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, \n * and to permit persons to whom the Software is furnished to do so, subject to the \n * following conditions:\n * \n * The above copyright notice and this permission notice shall be included in \n * all copies or substantial portions of the Software.\n * \n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, \n * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A \n * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT \n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF \n * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE \n * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nusing System.ComponentModel.Design;\nusing System.Windows.Forms.Design;\nusing MetroSet_UI.Actions;\n\nnamespace MetroSet_UI.Design\n{\n    internal class MetroSetTrackBarDesigner : ControlDesigner\n    {\n\n        private readonly string[] _propertiesToRemove =\n        {\n            \"BackgroundImage\", \"BackgroundImageLayout\", \"ForeColor\",\n            \"RightToLeft\",\"ImeMode\"\n        };\n\n\n        protected override void PostFilterProperties(System.Collections.IDictionary properties)\n        {\n            foreach (var property in _propertiesToRemove)\n            {\n                properties.Remove(property);\n            }\n            base.PostFilterProperties(properties);\n        }\n\n        private DesignerActionListCollection _actionListCollection;\n\n        public override DesignerActionListCollection ActionLists => _actionListCollection ?? (_actionListCollection =\n                                                                        new DesignerActionListCollection { new MetroSetTrackBarActionList(Component) });\n    }\n}"
  },
  {
    "path": "MetroSet UI/Design/StyleManagerDesigner.cs",
    "content": "﻿/*\n * MetroSet UI - MetroSet UI Framework\n * \n * The MIT License (MIT)\n * Copyright (c) 2017 Narwin, https://github.com/N-a-r-w-i-n\n * \n * Permission is hereby granted, free of charge, to any person obtaining a copy of \n * this software and associated documentation files (the \"Software\"), to deal in the \n * Software without restriction, including without limitation the rights to use, copy, \n * modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, \n * and to permit persons to whom the Software is furnished to do so, subject to the \n * following conditions:\n * \n * The above copyright notice and this permission notice shall be included in \n * all copies or substantial portions of the Software.\n * \n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, \n * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A \n * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT \n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF \n * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE \n * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nusing System.ComponentModel.Design;\nusing MetroSet_UI.Actions;\n\nnamespace MetroSet_UI.Design\n{\n    public class StyleManagerDesigner : ComponentDesigner\n    {\n        private DesignerActionListCollection _actionListCollection;\n\n        public override DesignerActionListCollection ActionLists => _actionListCollection ?? (_actionListCollection =\n                                                                        new DesignerActionListCollection { new StyleManagerActionList(Component) });\n    }\n\n}\n"
  },
  {
    "path": "MetroSet UI/Enums/BageAlign.cs",
    "content": "﻿/*\n * MetroSet UI - MetroSet UI Framework\n * \n * The MIT License (MIT)\n * Copyright (c) 2017 Narwin, https://github.com/N-a-r-w-i-n\n * \n * Permission is hereby granted, free of charge, to any person obtaining a copy of \n * this software and associated documentation files (the \"Software\"), to deal in the \n * Software without restriction, including without limitation the rights to use, copy, \n * modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, \n * and to permit persons to whom the Software is furnished to do so, subject to the \n * following conditions:\n * \n * The above copyright notice and this permission notice shall be included in \n * all copies or substantial portions of the Software.\n * \n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, \n * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A \n * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT \n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF \n * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE \n * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nnamespace MetroSet_UI.Enums\n{\n    public enum BadgeAlign\n    {\n        // Sets the badge to Topleft corner.\n        Topleft,\n\n        // Sets the badge to TopRight corner.\n        TopRight,\n\n        // Sets the badge to BottmLeft corner.\n        BottmLeft,\n\n        // Sets the badge to BottomRight corner.\n        BottomRight\n    }\n}"
  },
  {
    "path": "MetroSet UI/Enums/CheckState.cs",
    "content": "﻿/*\n * MetroSet UI - MetroSet UI Framework\n * \n * The MIT License (MIT)\n * Copyright (c) 2017 Narwin, https://github.com/N-a-r-w-i-n\n * \n * Permission is hereby granted, free of charge, to any person obtaining a copy of \n * this software and associated documentation files (the \"Software\"), to deal in the \n * Software without restriction, including without limitation the rights to use, copy, \n * modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, \n * and to permit persons to whom the Software is furnished to do so, subject to the \n * following conditions:\n * \n * The above copyright notice and this permission notice shall be included in \n * all copies or substantial portions of the Software.\n * \n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, \n * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A \n * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT \n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF \n * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE \n * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nnamespace MetroSet_UI.Enums\n{\n    public enum CheckState\n    {\n\n        //The control is unchecked.\n        Unchecked = 0,\n\n\n        //The control is checked.\n        Checked = 1,\n\n    }\n}"
  },
  {
    "path": "MetroSet UI/Enums/DividerStyle.cs",
    "content": "﻿/*\n * MetroSet UI - MetroSet UI Framework\n * \n * The MIT License (MIT)\n * Copyright (c) 2017 Narwin, https://github.com/N-a-r-w-i-n\n * \n * Permission is hereby granted, free of charge, to any person obtaining a copy of \n * this software and associated documentation files (the \"Software\"), to deal in the \n * Software without restriction, including without limitation the rights to use, copy, \n * modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, \n * and to permit persons to whom the Software is furnished to do so, subject to the \n * following conditions:\n * \n * The above copyright notice and this permission notice shall be included in \n * all copies or substantial portions of the Software.\n * \n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, \n * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A \n * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT \n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF \n * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE \n * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nnamespace MetroSet_UI.Enums\n{\n    public enum DividerStyle\n    {\n\n\n        // Sets the Orientation of Divider to Horizontal.\n        Horizontal,\n\n\n        // Sets the Orientation of Divider to Vertical.\n        Vertical\n\n\n    }\n}"
  },
  {
    "path": "MetroSet UI/Enums/EasingType.cs",
    "content": "﻿namespace MetroSet_UI.Enums\n{\n    // for animate\n    public enum EasingType\n    {\n        None,\n        Linear,\n        QuadIn,\n        QuadOut,\n        QuadInOut,\n        CubeIn,\n        CubeOut,\n        CubeInOut,\n        QuartIn,\n        QuartOut,\n        QuartInOut,\n        QuintIn,\n        QuintOut,\n        QuintInOut,\n        SineIn,\n        SineOut,\n        SineInOut\n    }\n}\n"
  },
  {
    "path": "MetroSet UI/Enums/MouseSates.cs",
    "content": "﻿/*\n * MetroSet UI - MetroSet UI Framework\n *\n * The MIT License (MIT)\n * Copyright (c) 2017 Narwin, https://github.com/N-a-r-w-i-n\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\n * this software and associated documentation files (the \"Software\"), to deal in the\n * Software without restriction, including without limitation the rights to use, copy,\n * modify, merge, publish, distribute, sublicense, and/or sell copies of the Software,\n * and to permit persons to whom the Software is furnished to do so, subject to the\n * following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,\n * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A\n * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF\n * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE\n * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nnamespace MetroSet_UI.Enums\n{\n    /// <summary>\n    /// The helper enumerator to get mouse states.\n    /// </summary>\n    public enum MouseMode\n    {\n        Normal,\n        Hovered,\n        Pushed,\n        Disabled\n    }\n}"
  },
  {
    "path": "MetroSet UI/Enums/ProgressOrientation.cs",
    "content": "﻿/*\n * MetroSet UI - MetroSet UI Framework\n * \n * The MIT License (MIT)\n * Copyright (c) 2017 Narwin, https://github.com/N-a-r-w-i-n\n * \n * Permission is hereby granted, free of charge, to any person obtaining a copy of \n * this software and associated documentation files (the \"Software\"), to deal in the \n * Software without restriction, including without limitation the rights to use, copy, \n * modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, \n * and to permit persons to whom the Software is furnished to do so, subject to the \n * following conditions:\n * \n * The above copyright notice and this permission notice shall be included in \n * all copies or substantial portions of the Software.\n * \n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, \n * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A \n * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT \n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF \n * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE \n * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nnamespace MetroSet_UI.Enums\n{\n    public enum ProgressOrientation\n    {\n        /// <summary>\n        /// Sets the progressbar on horizontal orientation.\n        /// </summary>\n        Horizontal,\n\n        /// <summary>\n        /// Sets the progressbar on vertical orientation.\n        /// </summary>\n        Vertical\n    }\n}\n"
  },
  {
    "path": "MetroSet UI/Enums/ScrollOrientation.cs",
    "content": "﻿/*\n * MetroSet UI - MetroSet UI Framework\n * \n * The MIT License (MIT)\n * Copyright (c) 2017 Narwin, https://github.com/N-a-r-w-i-n\n * \n * Permission is hereby granted, free of charge, to any person obtaining a copy of \n * this software and associated documentation files (the \"Software\"), to deal in the \n * Software without restriction, including without limitation the rights to use, copy, \n * modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, \n * and to permit persons to whom the Software is furnished to do so, subject to the \n * following conditions:\n * \n * The above copyright notice and this permission notice shall be included in \n * all copies or substantial portions of the Software.\n * \n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, \n * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A \n * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT \n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF \n * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE \n * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nnamespace MetroSet_UI.Enums\n{\n    public enum ScrollOrientate\n    {\n        /// <summary>\n        /// Sets the scrollbar on horizontal orientation.\n        /// </summary>\n        Horizontal,\n\n        /// <summary>\n        /// Sets the scrollbar on vertical orientation.\n        /// </summary>\n        Vertical\n    }\n}"
  },
  {
    "path": "MetroSet UI/Enums/SignStyle.cs",
    "content": "﻿/*\n * MetroSet UI - MetroSet UI Framework\n * \n * The MIT License (MIT)\n * Copyright (c) 2017 Narwin, https://github.com/N-a-r-w-i-n\n * \n * Permission is hereby granted, free of charge, to any person obtaining a copy of \n * this software and associated documentation files (the \"Software\"), to deal in the \n * Software without restriction, including without limitation the rights to use, copy, \n * modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, \n * and to permit persons to whom the Software is furnished to do so, subject to the \n * following conditions:\n * \n * The above copyright notice and this permission notice shall be included in \n * all copies or substantial portions of the Software.\n * \n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, \n * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A \n * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT \n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF \n * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE \n * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nnamespace MetroSet_UI.Enums\n{\n    public enum SignStyle\n    {\n\n\n        // Sets the CheckBox checking style to checkmark.\n        Sign,\n\n\n        // Sets the CheckBox checking style to rectangle.\n        Shape\n\n\n    }\n}"
  },
  {
    "path": "MetroSet UI/Enums/Style.cs",
    "content": "﻿/*\n * MetroSet UI - MetroSet UI Framework\n * \n * The MIT License (MIT)\n * Copyright (c) 2017 Narwin, https://github.com/N-a-r-w-i-n\n * \n * Permission is hereby granted, free of charge, to any person obtaining a copy of \n * this software and associated documentation files (the \"Software\"), to deal in the \n * Software without restriction, including without limitation the rights to use, copy, \n * modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, \n * and to permit persons to whom the Software is furnished to do so, subject to the \n * following conditions:\n * \n * The above copyright notice and this permission notice shall be included in \n * all copies or substantial portions of the Software.\n * \n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, \n * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A \n * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT \n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF \n * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE \n * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nnamespace MetroSet_UI.Enums\n{\n    public enum Style\n    {\n\n\n        // Sets the style of the control to Light.\n        Light,\n\n\n        // Sets the style of the control to Dark.\n        Dark,\n\n\n        // Sets the style of the control to Custom.\n        Custom\n\n\n    }\n}"
  },
  {
    "path": "MetroSet UI/Enums/TabStyle.cs",
    "content": "﻿/*\n * MetroSet UI - MetroSet UI Framework\n * \n * The MIT License (MIT)\n * Copyright (c) 2017 Narwin, https://github.com/N-a-r-w-i-n\n * \n * Permission is hereby granted, free of charge, to any person obtaining a copy of \n * this software and associated documentation files (the \"Software\"), to deal in the \n * Software without restriction, including without limitation the rights to use, copy, \n * modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, \n * and to permit persons to whom the Software is furnished to do so, subject to the \n * following conditions:\n * \n * The above copyright notice and this permission notice shall be included in \n * all copies or substantial portions of the Software.\n * \n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, \n * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A \n * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT \n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF \n * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE \n * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nnamespace MetroSet_UI.Enums\n{\n    public enum TabStyle\n    {\n        /// <summary>\n        /// Sets the TabControlStyle Style1.\n        /// </summary>\n        Style1,\n\n        /// <summary>\n        /// Sets the TabControlStyle Style2.\n        /// </summary>\n        Style2\n    }\n\n\n}"
  },
  {
    "path": "MetroSet UI/Enums/TextAlign.cs",
    "content": "﻿/*\n * MetroSet UI - MetroSet UI Framework\n * \n * The MIT License (MIT)\n * Copyright (c) 2017 Narwin, https://github.com/N-a-r-w-i-n\n * \n * Permission is hereby granted, free of charge, to any person obtaining a copy of \n * this software and associated documentation files (the \"Software\"), to deal in the \n * Software without restriction, including without limitation the rights to use, copy, \n * modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, \n * and to permit persons to whom the Software is furnished to do so, subject to the \n * following conditions:\n * \n * The above copyright notice and this permission notice shall be included in \n * all copies or substantial portions of the Software.\n * \n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, \n * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A \n * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT \n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF \n * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE \n * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nnamespace MetroSet_UI.Enums\n{\n    public enum TextAlign\n    {\n\n        // Sets the textalign of the control to Left.\n        Left,\n\n\n        // Sets the textalign of the control to Center.\n        Center,\n\n\n        // Sets the textalign of the control to Right.\n        Right\n\n\n    }\n}"
  },
  {
    "path": "MetroSet UI/Enums/TileAlign.cs",
    "content": "﻿/*\n * MetroSet UI - MetroSet UI Framework\n * \n * The MIT License (MIT)\n * Copyright (c) 2017 Narwin, https://github.com/N-a-r-w-i-n\n * \n * Permission is hereby granted, free of charge, to any person obtaining a copy of \n * this software and associated documentation files (the \"Software\"), to deal in the \n * Software without restriction, including without limitation the rights to use, copy, \n * modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, \n * and to permit persons to whom the Software is furnished to do so, subject to the \n * following conditions:\n * \n * The above copyright notice and this permission notice shall be included in \n * all copies or substantial portions of the Software.\n * \n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, \n * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A \n * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT \n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF \n * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE \n * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nnamespace MetroSet_UI.Enums\n{\n    public enum TileAlign\n    {\n        // Sets the Tile to Topleft corner.\n        Topleft,\n\n        // Sets the Tile to TopRight corner.\n        TopRight,\n\n        // Sets the Tile to BottmLeft corner.\n        BottmLeft,\n\n        // Sets the Tile to BottomRight corner.\n        BottomRight,\n\n        // Sets the Tile to TopCenter corner.\n        TopCenter,\n\n        // Sets the Tile to BottomCenter corner.\n        BottomCenter\n\n    }\n}"
  },
  {
    "path": "MetroSet UI/Extensions/Global Font.cs",
    "content": "﻿using System.Drawing;\n\nnamespace MetroSet_UI.Extensions\n{\n    public class Global_Font\n    {\n\n        /// <summary>\n        /// Gets the font for the most of controls.\n        /// </summary>\n        /// <param name=\"size\">The Size of the Segoe UI font.</param>\n        /// <returns>The Segoe UI font with the given size.</returns>\n        public static Font Regular(float size)\n        {\n            return new Font(\"Segoe UI\", size);\n        }\n\n        /// <summary>\n        /// Gets the font for the most of controls.\n        /// </summary>\n        /// <param name=\"fnt\">The Font name.</param>\n        /// <param name=\"size\">The Size of the Segoe UI font.</param>\n        /// <returns>The Segoe UI font with the given size.</returns>\n        public static Font Normal(string fnt, float size)\n        {\n            return new Font(fnt, size);\n        }\n\n        /// <summary>\n        /// Gets the font for the most of controls.\n        /// </summary>\n        /// <param name=\"size\">The Size of the Segoe UI font.</param>\n        /// <returns>The Segoe UI font with the given size.</returns>\n        public static Font Light(float size)\n        {\n            return new Font(\"Segoe UI Light\", size);\n        }\n\n        /// <summary>\n        /// Gets the font for the most of controls.\n        /// </summary>\n        /// <param name=\"size\">The Size of the Segoe UI font.</param>\n        /// <returns>The Segoe UI font with the given size.</returns>\n        public static Font Italic(float size)\n        {\n            return new Font(\"Segoe UI\", size, FontStyle.Italic);\n        }\n\n        /// <summary>\n        /// Gets the font for the most of controls.\n        /// </summary>\n        /// <param name=\"size\">The Size of the Segoe UI font.</param>\n        /// <returns>The Segoe UI font with the given size.</returns>\n        public static Font SemiBold(float size)\n        {\n            return new Font(\"Segoe UI semibold\", size);\n        }\n\n        /// <summary>\n        /// Gets the font for the most of controls.\n        /// </summary>\n        /// <param name=\"size\">The Size of the Segoe UI font.</param>\n        /// <returns>The Segoe UI font with the given size.</returns>\n        public static Font Bold(float size)\n        {\n            return new Font(\"Segoe UI\", size, FontStyle.Bold);\n        }\n\n    }\n}"
  },
  {
    "path": "MetroSet UI/Extensions/GraphicsQuality.cs",
    "content": "﻿using System;\nusing System.Drawing;\nusing System.Drawing.Drawing2D;\nusing System.Drawing.Text;\nusing System.Windows.Forms;\n\nnamespace MetroSet_UI.Extensions\n{\n    public class GraphicsQuality\n    {\n\t    /// <summary>\n\t    /// sets The quality of the drawing to the given graphics.\n\t    /// </summary>\n\t    /// <param name=\"e\">The Graphics to set the quality</param>\n\t    /// <param name=\"smoothingMode\">Gets or sets the rendering quality for this System.Drawing.Graphics.</param>\n\t    /// <param name=\"textRenderingHint\"></param>\n\t    /// <param name=\"pixelOffsetMode\">Gets or set a value specifying how pixels are offset during rendering of this </param>\n\t    /// <param name=\"interpolationMode\">Gets or sets the interpolation mode associated with this System.Drawing.Graphics.</param>\n\t    /// <param name=\"compositingQuality\">Gets or sets the rendering quality of composited images drawn to this System.Drawing.Graphics.</param>\n\t    public void SetQuality(Graphics e, \n\t                           SmoothingMode smoothingMode = SmoothingMode.Default,\n\t                           TextRenderingHint textRenderingHint = TextRenderingHint.ClearTypeGridFit, \n\t                           PixelOffsetMode pixelOffsetMode = PixelOffsetMode.Default,\n\t                           InterpolationMode interpolationMode = InterpolationMode.Default, \n\t                           CompositingQuality compositingQuality = CompositingQuality.Default)\n        {\n            try\n            {\n                e.SmoothingMode = smoothingMode;\n                e.PixelOffsetMode = pixelOffsetMode;\n                e.InterpolationMode = interpolationMode;\n                e.CompositingQuality = compositingQuality;\n                e.TextRenderingHint = textRenderingHint;\n            }\n            catch (Exception ex)\n            {\n                MessageBox.Show(ex.StackTrace);\n            }\n        }\n\n    }\n\n}\n"
  },
  {
    "path": "MetroSet UI/Extensions/Methods.cs",
    "content": "﻿/*\n * MetroSet UI - MetroSet UI Framework\n * \n * The MIT License (MIT)\n * Copyright (c) 2017 Narwin, https://github.com/N-a-r-w-i-n\n * \n * Permission is hereby granted, free of charge, to any person obtaining a copy of \n * this software and associated documentation files (the \"Software\"), to deal in the \n * Software without restriction, including without limitation the rights to use, copy, \n * modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, \n * and to permit persons to whom the Software is furnished to do so, subject to the \n * following conditions:\n * \n * The above copyright notice and this permission notice shall be included in \n * all copies or substantial portions of the Software.\n * \n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, \n * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A \n * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT \n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF \n * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE \n * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nusing System;\nusing System.Drawing;\nusing System.Drawing.Drawing2D;\nusing System.Drawing.Imaging;\n\nnamespace MetroSet_UI.Extensions\n{\n\tinternal class Methods\n\t{\n\t\t/// <summary>\n\t\t/// The Method to draw the image from encoded base64 string.\n\t\t/// </summary>\n\t\t/// <param name=\"graphics\">The Graphics to draw the image.</param>\n\t\t/// <param name=\"base64Image\">The Encoded base64 image.</param>\n\t\t/// <param name=\"rect\">The Rectangle area for the image.</param>\n\t\tpublic void DrawImageFromBase64(Graphics graphics, string base64Image, Rectangle rect)\n\t\t{\n\t\t\tImage im;\n\t\t\tusing (var ms = new System.IO.MemoryStream(Convert.FromBase64String(base64Image)))\n\t\t\t{\n\t\t\t\tim = Image.FromStream(ms);\n\t\t\t\tms.Close();\n\t\t\t}\n\t\t\tgraphics.DrawImage(im, rect);\n\t\t}\n\n\t\t/// <summary>\n\t\t/// The Method to draw the image with custom color.\n\t\t/// </summary>\n\t\t/// <param name=\"G\"> The Graphic to draw the image.</param>\n\t\t/// <param name=\"r\"> The Rectangle area of image.</param>\n\t\t/// <param name=\"image\"> The image that the custom color applies on it.</param>\n\t\t/// <param name=\"c\">The Color that be applied to the image.</param>\n\t\t/// <remarks></remarks>\n\t\tpublic void DrawImageWithColor(Graphics G, Rectangle r, Image image, Color c)\n\t\t{\n\t\t\tvar ptsArray = new[]\n\t\t\t{\n\t\t\tnew[] {Convert.ToSingle(c.R / 255.0), 0f, 0f, 0f, 0f},\n\t\t\tnew[] {0f, Convert.ToSingle(c.G / 255.0), 0f, 0f, 0f},\n\t\t\tnew[] {0f, 0f, Convert.ToSingle(c.B / 255.0), 0f, 0f},\n\t\t\tnew[] {0f, 0f, 0f, Convert.ToSingle(c.A / 255.0), 0f},\n\t\t\tnew[]\n\t\t\t{\n\t\t\t\tConvert.ToSingle( c.R/255.0),\n\t\t\t\tConvert.ToSingle( c.G/255.0),\n\t\t\t\tConvert.ToSingle( c.B/255.0), 0f,\n\t\t\t\tConvert.ToSingle( c.A/255.0)\n\t\t\t}\n\t\t\t};\n\t\t\tvar imageAttributes = new ImageAttributes();\n\t\t\timageAttributes.SetColorMatrix(new ColorMatrix(ptsArray), ColorMatrixFlag.Default, ColorAdjustType.Default);\n\t\t\tG.DrawImage(image, r, 0, 0, image.Width, image.Height, GraphicsUnit.Pixel, imageAttributes);\n\t\t\timage.Dispose();\n\t\t}\n\n\t\t/// <summary>\n\t\t/// The Method to draw the image with custom color.\n\t\t/// </summary>\n\t\t/// <param name=\"G\"> The Graphic to draw the image.</param>\n\t\t/// <param name=\"r\"> The Rectangle area of image.</param>\n\t\t/// <param name=\"image\"> The Encoded base64 image that the custom color applies on it.</param>\n\t\t/// <param name=\"c\">The Color that be applied to the image.</param>\n\t\t/// <remarks></remarks>\n\t\tpublic void DrawImageWithColor(Graphics G, Rectangle r, string image, Color c)\n\t\t{\n\t\t\tvar im = ImageFromBase64(image);\n\t\t\tvar ptsArray = new[]\n\t\t\t{\n\t\t\tnew[] {Convert.ToSingle(c.R / 255.0), 0f, 0f, 0f, 0f},\n\t\t\tnew[] {0f, Convert.ToSingle(c.G / 255.0), 0f, 0f, 0f},\n\t\t\tnew[] {0f, 0f, Convert.ToSingle(c.B / 255.0), 0f, 0f},\n\t\t\tnew[] {0f, 0f, 0f, Convert.ToSingle(c.A / 255.0), 0f},\n\t\t\tnew[]\n\t\t\t{\n\t\t\t\tConvert.ToSingle( c.R/255.0),\n\t\t\t\tConvert.ToSingle( c.G/255.0),\n\t\t\t\tConvert.ToSingle( c.B/255.0), 0f,\n\t\t\t\tConvert.ToSingle( c.A/255.0)\n\t\t\t}\n\t\t\t};\n\t\t\tvar imageAttributes = new ImageAttributes();\n\t\t\timageAttributes.SetColorMatrix(new ColorMatrix(ptsArray), ColorMatrixFlag.Default, ColorAdjustType.Default);\n\t\t\tG.DrawImage(im, r, 0, 0, im.Width, im.Height, GraphicsUnit.Pixel, imageAttributes);\n\t\t}\n\n\t\t/// <summary>\n\t\t/// The String format to provide the alignment.\n\t\t/// </summary>\n\t\t/// <param name=\"horizontal\">Horizontal alignment.</param>\n\t\t/// <param name=\"vertical\">Horizontal alignment. alignment.</param>\n\t\t/// <returns>The String format.</returns>\n\t\tpublic StringFormat SetPosition(StringAlignment horizontal = StringAlignment.Center, StringAlignment vertical = StringAlignment.Center)\n\t\t{\n\t\t\treturn new StringFormat\n\t\t\t{\n\t\t\t\tAlignment = horizontal,\n\t\t\t\tLineAlignment = vertical\n\t\t\t};\n\t\t}\n\n\t\t/// <summary>\n\t\t/// The Matrix array of single from color.\n\t\t/// </summary>\n\t\t/// <param name=\"c\">The Color.</param>\n\t\t/// /// <param name=\"alpha\">The Opacity.</param>\n\t\t/// <returns>The Matrix array of single from the given color</returns>\n\t\tpublic float[][] ColorToMatrix(float alpha, Color c)\n\t\t{\n\t\t\treturn new[]\n\t\t\t{\n\t\t\tnew [] {Convert.ToSingle(c.R / 255),0,0,0,0},\n\t\t\tnew [] {0,Convert.ToSingle(c.G / 255),0,0,0},\n\t\t\tnew [] {0,0,Convert.ToSingle(c.B / 255),0,0},\n\t\t\tnew [] {0,0,0,Convert.ToSingle(c.A / 255),0},\n\t\t\tnew [] {\n\t\t\t\tConvert.ToSingle(c.R / 255),\n\t\t\t\tConvert.ToSingle(c.G / 255),\n\t\t\t\tConvert.ToSingle(c.B / 255),\n\t\t\t\talpha,\n\t\t\t\tConvert.ToSingle(c.A / 255)\n\t\t\t}\n\t\t};\n\t\t}\n\n\n\t\tpublic void DrawImageWithTransparency(Graphics G, float alpha, Image image, Rectangle rect)\n\t\t{\n\t\t\tvar colorMatrix = new ColorMatrix { Matrix33 = alpha };\n\t\t\tvar imageAttributes = new ImageAttributes();\n\t\t\timageAttributes.SetColorMatrix(colorMatrix);\n\t\t\tG.DrawImage(image, new Rectangle(rect.X, rect.Y, image.Width, image.Height), rect.X, rect.Y, image.Width, image.Height, GraphicsUnit.Pixel, imageAttributes);\n\t\t\timageAttributes.Dispose();\n\t\t}\n\n\n\n\t\t/// <summary>\n\t\t/// The Image from encoded base64 image.\n\t\t/// </summary>\n\t\t/// <param name=\"base64Image\">The Encoded base64 image</param>\n\t\t/// <returns>The Image from encoded base64.</returns>\n\t\tpublic Image ImageFromBase64(string base64Image)\n\t\t{\n\t\t\tusing (var ms = new System.IO.MemoryStream(Convert.FromBase64String(base64Image)))\n\t\t\t{\n\t\t\t\treturn Image.FromStream(ms);\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Turns the rectangle to rounded rectangle.\n\t\t/// Credits : Aeonhack\n\t\t/// <param name=\"r\">The Rectangle to fill.</param>\n\t\t/// <param name=\"curve\">The Rounding border radius.</param>\n\t\t/// <param name=\"topLeft\">Wether the top left of rectangle be round or not.</param>\n\t\t/// <param name=\"topRight\">Wether the top right of rectangle be round or not.</param>\n\t\t/// <param name=\"bottomLeft\">Wether the bottom left of rectangle be round or not.</param>\n\t\t/// <param name=\"bottomRight\">Wether the bottom right of rectangle be round or not.</param>\n\t\t/// <returns>the rounded rectangle base one given rectangle</returns>\n\t\t/// </summary>\n\n\t\tpublic GraphicsPath RoundRec(Rectangle r, int curve, bool topLeft = true, bool topRight = true,\n\t\t  bool bottomLeft = true, bool bottomRight = true)\n\t\t{\n\t\t\tvar createRoundPath = new GraphicsPath(FillMode.Winding);\n\t\t\tif (topLeft)\n\t\t\t{\n\t\t\t\tcreateRoundPath.AddArc(r.X, r.Y, curve, curve, 180f, 90f);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tcreateRoundPath.AddLine(r.X, r.Y, r.X, r.Y);\n\t\t\t}\n\t\t\tif (topRight)\n\t\t\t{\n\t\t\t\tcreateRoundPath.AddArc(r.Right - curve, r.Y, curve, curve, 270f, 90f);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tcreateRoundPath.AddLine(r.Right - r.Width, r.Y, r.Width, r.Y);\n\t\t\t}\n\t\t\tif (bottomRight)\n\t\t\t{\n\t\t\t\tcreateRoundPath.AddArc(r.Right - curve, r.Bottom - curve, curve, curve, 0f, 90f);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tcreateRoundPath.AddLine(r.Right, r.Bottom, r.Right, r.Bottom);\n\t\t\t}\n\t\t\tif (bottomLeft)\n\t\t\t{\n\t\t\t\tcreateRoundPath.AddArc(r.X, r.Bottom - curve, curve, curve, 90f, 90f);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tcreateRoundPath.AddLine(r.X, r.Bottom, r.X, r.Bottom);\n\t\t\t}\n\t\t\tcreateRoundPath.CloseFigure();\n\t\t\treturn createRoundPath;\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Turns the rectangle to rounded rectangle.\n\t\t/// Credits : Aeonhack\n\t\t/// The x-coordinate of the upper-left corner of this Rectangle/param>\n\t\t/// <param name=\"y\">The y-coordinate of the upper-left corner of this Rectangle</param>\n\t\t/// <param name=\"width\">The Width of the rectangle</param>\n\t\t/// <param name=\"height\">The Height of the rectangle</param>\n\t\t/// <param name=\"curve\">The Rounding border radius.</param>\n\t\t/// <param name=\"topLeft\">Whether the top left of rectangle be round or not.</param>\n\t\t/// <param name=\"topRight\">Whether the top right of rectangle be round or not.</param>\n\t\t/// <param name=\"bottomLeft\">Whether the bottom left of rectangle be round or not.</param>\n\t\t/// <param name=\"bottomRight\">Whether the bottom right of rectangle be round or not.</param>\n\t\t/// <returns>the rounded rectangle base one given dimensions</returns>\n\t\t/// <returns>the rounded rectangle base one given details</returns>\n\t\t/// </summary>\n\t\tpublic GraphicsPath RoundRec(int x, int y, int width, int height, int curve, bool topLeft = true, bool topRight = true,\n\t\t\t\t\t\t\t\t\t bool bottomLeft = true, bool bottomRight = true)\n\t\t{\n\t\t\tvar r = new Rectangle(x, y, width, height);\n\t\t\tvar createRoundPath = new GraphicsPath(FillMode.Winding);\n\t\t\tif (topLeft)\n\t\t\t{\n\t\t\t\tcreateRoundPath.AddArc(r.X, r.Y, curve, curve, 180f, 90f);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tcreateRoundPath.AddLine(r.X, r.Y, r.X, r.Y);\n\t\t\t}\n\t\t\tif (topRight)\n\t\t\t{\n\t\t\t\tcreateRoundPath.AddArc(r.Right - curve, r.Y, curve, curve, 270f, 90f);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tcreateRoundPath.AddLine(r.Right - r.Width, r.Y, r.Width, r.Y);\n\t\t\t}\n\t\t\tif (bottomRight)\n\t\t\t{\n\t\t\t\tcreateRoundPath.AddArc(r.Right - curve, r.Bottom - curve, curve, curve, 0f, 90f);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tcreateRoundPath.AddLine(r.Right, r.Bottom, r.Right, r.Bottom);\n\t\t\t}\n\t\t\tif (bottomLeft)\n\t\t\t{\n\t\t\t\tcreateRoundPath.AddArc(r.X, r.Bottom - curve, curve, curve, 90f, 90f);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tcreateRoundPath.AddLine(r.X, r.Bottom, r.X, r.Bottom);\n\t\t\t}\n\t\t\tcreateRoundPath.CloseFigure();\n\t\t\treturn createRoundPath;\n\t\t}\n\t}\n}"
  },
  {
    "path": "MetroSet UI/Extensions/MetroSetFonts.cs",
    "content": "﻿/*\n * MetroSet UI - MetroSet UI Framework\n * \n * The MIT License (MIT)\n * Copyright (c) 2017 Narwin, https://github.com/N-a-r-w-i-n\n * \n * Permission is hereby granted, free of charge, to any person obtaining a copy of \n * this software and associated documentation files (the \"Software\"), to deal in the \n * Software without restriction, including without limitation the rights to use, copy, \n * modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, \n * and to permit persons to whom the Software is furnished to do so, subject to the \n * following conditions:\n * \n * The above copyright notice and this permission notice shall be included in \n * all copies or substantial portions of the Software.\n * \n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, \n * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A \n * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT \n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF \n * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE \n * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nusing System;\nusing System.Drawing;\nusing System.Drawing.Text;\nusing System.Runtime.InteropServices;\n\nnamespace MetroSet_UI.Extensions\n{\n    public class MetroSetFonts\n    {\n\n        /// <summary>\n        /// Gets the font for the most of controls.\n        /// </summary>\n        /// <param name=\"size\">The Size of the Segoe WP Semilight font.</param>\n        /// <returns>The Segoe WP Semilight font with the given size.</returns>\n        public static Font SemiLight(float size)\n        {\n            return GetFont(Properties.Resources.SegoeWP_Semilight, size);\n        }\n\n        /// <summary>\n        /// Gets the font for the most of controls.\n        /// </summary>\n        /// <param name=\"size\">The Size of the Segoe WP Light font.</param>\n        /// <returns>The Segoe WP Light font with the given size.</returns>\n        public static Font Light(float size)\n        {\n            return GetFont(Properties.Resources.SegoeWP_Light, size);\n        }\n\n        /// <summary>\n        /// Gets the font for the most of controls.\n        /// </summary>\n        /// <param name=\"size\">The Size of the Segoe WP SemiBold font.</param>\n        /// <returns>The Segoe WP SemiBold font with the given size.</returns>\n        public static Font SemiBold(float size)\n        {\n            return GetFont(Properties.Resources.SegoeWP_Semibold, size);\n        }\n\n        /// <summary>\n        /// Gets the font for the most of controls.\n        /// </summary>\n        /// <param name=\"size\">The Size of the Segoe WP Bold font.</param>\n        /// <returns>The Segoe WP Bold font with the given size.</returns>\n        public static Font Bold(float size)\n        {\n            return GetFont(Properties.Resources.SegoeWP_Bold, size);\n        }\n\n\n        /// <summary>\n        /// Gets or sets the font of the most controls.\n        /// </summary>\n        /// <param name=\"size\">The Size of the Segoe WP font.</param>\n        /// <returns>The Segoe WP font with the given size.</returns>\n        public static Font Regular(float size)\n        {\n            return GetFont(Properties.Resources.SegoeWP, size);\n        }\n\n        public static Font UIRegular(float size)\n        {\n            return new Font(\"Segoe UI\", size);\n        }\n\n        /// <summary>\n        /// Gets the font stored from resources.\n        /// </summary>\n        /// <param name=\"fontbyte\">The Font stored from resources.</param>\n        /// <param name=\"size\">The Desired size for the font</param>\n        /// <returns>The Font stored from resources with desired size.</returns>\n        public static Font GetFont(byte[] fontbyte, float size)\n        {\n            using (PrivateFontCollection privateFontCollection = new PrivateFontCollection())\n            {\n                byte[] fnt = fontbyte;\n                IntPtr buffer = Marshal.AllocCoTaskMem(fnt.Length);\n                Marshal.Copy(fnt, 0, buffer, fnt.Length);\n                privateFontCollection.AddMemoryFont(buffer, fnt.Length);\n                return new Font(privateFontCollection.Families[0].Name, size);\n            }\n        }\n\n\n    }\n}"
  },
  {
    "path": "MetroSet UI/Extensions/Utilites.cs",
    "content": "﻿/*\n * MetroSet UI - MetroSet UI Framework\n * \n * The MIT License (MIT)\n * Copyright (c) 2017 Narwin, https://github.com/N-a-r-w-i-n\n * \n * Permission is hereby granted, free of charge, to any person obtaining a copy of \n * this software and associated documentation files (the \"Software\"), to deal in the \n * Software without restriction, including without limitation the rights to use, copy, \n * modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, \n * and to permit persons to whom the Software is furnished to do so, subject to the \n * following conditions:\n * \n * The above copyright notice and this permission notice shall be included in \n * all copies or substantial portions of the Software.\n * \n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, \n * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR alpha \n * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT \n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF \n * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE \n * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nusing System;\nusing System.Drawing;\nusing System.Drawing.Drawing2D;\nusing System.Windows.Forms;\nusing MetroSet_UI.Native;\n\nnamespace MetroSet_UI.Extensions\n{\n\tinternal class Utilites\n\t{\n\t\t/// <summary>\n\t\t/// The Brush with two colors one center another surounding the center based on the given rectangle area.\n\t\t/// </summary>\n\t\t/// <param name=\"CenterColor\">The Center color of the rectangle.</param>\n\t\t/// <param name=\"SurroundColor\">The Surrounding color of the rectangle.</param>\n\t\t/// <param name=\"P\">The Point of surrounding.</param>\n\t\t/// <param name=\"Rect\">The Rectangle of the brush.</param>\n\t\t/// <returns>The Brush with two colors one center another surounding the center.</returns>\n\t\tpublic static PathGradientBrush GlowBrush(Color CenterColor, Color SurroundColor, Point P, Rectangle Rect)\n\t\t{\n\t\t\tGraphicsPath GP = new GraphicsPath { FillMode = FillMode.Winding };\n\t\t\tGP.AddRectangle(Rect);\n\t\t\treturn new PathGradientBrush(GP)\n\t\t\t{\n\t\t\t\tCenterColor = CenterColor,\n\t\t\t\tSurroundColors = new[] { SurroundColor },\n\t\t\t\tFocusScales = P\n\t\t\t};\n\t\t}\n\n\t\t/// <summary>\n\t\t/// The Brush from RGBA color.\n\t\t/// </summary>\n\t\t/// <param name=\"R\">Red.</param>\n\t\t/// <param name=\"G\">Green.</param>\n\t\t/// <param name=\"B\">Blue.</param>\n\t\t/// <param name=\"A\">Alpha.</param>\n\t\t/// <returns>The Brush from given RGBA color.</returns>\n\t\tpublic SolidBrush SolidBrushRGBColor(int R, int G, int B, int A = 0)\n\t\t{\n\t\t\treturn new SolidBrush(Color.FromArgb(A, R, G, B));\n\t\t}\n\n\t\t/// <summary>\n\t\t/// The Brush from HEX color.\n\t\t/// </summary>\n\t\t/// <param name=\"C_WithoutHash\">HEX Color without hash.</param>\n\t\t/// <returns>The Brush from given HEX color.</returns>\n\t\tpublic SolidBrush SolidBrushHTMlColor(string C_WithoutHash)\n\t\t{\n\t\t\treturn new SolidBrush(HexColor(C_WithoutHash));\n\t\t}\n\n\t\t/// <summary>\n\t\t/// The Pen from RGBA color.\n\t\t/// </summary>\n\t\t/// <param name=\"red\">Red.</param>\n\t\t/// <param name=\"green\">Green.</param>\n\t\t/// <param name=\"blue\">Blue.</param>\n\t\t/// <param name=\"alpha\">Alpha.</param>\n\t\t/// <param name=\"size\"></param>\n\t\t/// <returns>The Pen from given RGBA color.</returns>\n\t\tpublic Pen PenRGBColor(int red, int green, int blue, int alpha, float size)\n\t\t{\n\t\t\treturn new Pen(Color.FromArgb(alpha, red, green, blue), size);\n\t\t}\n\n\t\t/// <summary>\n\t\t/// The Pen from HEX color.\n\t\t/// </summary>\n\t\t/// <param name=\"colorWithoutHash\">HEX Color without hash.</param>\n\t\t/// <param name=\"size\">The size of the pen.</param>\n\t\t/// <returns></returns>\n\t\tpublic Pen PenHTMlColor(string colorWithoutHash, float size = 1)\n\t\t{\n\t\t\treturn new Pen(HexColor(colorWithoutHash), size);\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets Color based on given hex color string.\n\t\t/// </summary>\n\t\t/// <param name=\"hexColor\">Hex Color</param>\n\t\t/// <returns>The Color based on given hex color string</returns>\n\t\tpublic Color HexColor(string hexColor)\n\t\t{\n\t\t\treturn ColorTranslator.FromHtml(hexColor);\n\t\t}\n\n\t\t/// <summary>\n\t\t/// The Color from HEX by alpha property.\n\t\t/// </summary>\n\t\t/// <param name=\"alpha\">Alpha.</param>\n\t\t/// <param name=\"hexColor\">HEX Color with hash.</param>\n\t\t/// <returns>The Color from HEX with given ammount of transparency</returns>\n\t\tpublic Color GetAlphaHexColor(int alpha, string hexColor)\n\t\t{\n\t\t\treturn Color.FromArgb(alpha, ColorTranslator.FromHtml(hexColor));\n\t\t}\n\n\t\t// Check and create handle of control\n\t\t// Credits :\n\t\t//     control invalidate does not trigger the paint event of hidden or invisible control\n\t\t//     see https://stackoverflow.com/questions/38137654\n\t\t//     force create handle\n\t\t//     see https://stackoverflow.com/questions/1807921/\n\t\t/// <summary>\n\t\t/// Initialize the Handle of Control and child controls if their handle were not created\n\t\t/// </summary>\n\t\tpublic void InitControlHandle(Control ctrl)\n\t\t{\n\t\t\tif (ctrl.IsHandleCreated)\n\t\t\t\treturn;\n\t\t\tvar unused = ctrl.Handle;\n\t\t\tforeach (Control child in ctrl.Controls)\n\t\t\t{\n\t\t\t\tInitControlHandle(child);\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Setting smoothness for hand type cursor especially while hovering controls.\n\t\t/// </summary>\n\t\t/// <param name=\"message\">Windows message api.</param>\n\t\tpublic void SmoothCursor(ref Message message)\n\t\t{\n\t\t\tif (message.Msg != User32.WM_SETCURSOR)\n\t\t\t\treturn;\n\t\t\tUser32.SetCursor(User32.LoadCursor(IntPtr.Zero, User32.IDC_HAND));\n\t\t\tmessage.Result = IntPtr.Zero;\n\t\t}\n\n\t}\n}"
  },
  {
    "path": "MetroSet UI/Forms/MetroSetForm.cs",
    "content": "﻿/*\n * MetroSet UI - MetroSet UI Framework\n * \n * The MIT License (MIT)\n * Copyright (c) 2017 Narwin, https://github.com/N-a-r-w-i-n\n * \n * Permission is hereby granted, free of charge, to any person obtaining a copy of \n * this software and associated documentation files (the \"Software\"), to deal in the \n * Software without restriction, including without limitation the rights to use, copy, \n * modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, \n * and to permit persons to whom the Software is furnished to do so, subject to the \n * following conditions:\n * \n * The above copyright notice and this permission notice shall be included in \n * all copies or substantial portions of the Software.\n * \n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, \n * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A \n * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT \n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF \n * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE \n * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nusing System;\nusing System.ComponentModel;\nusing System.Drawing;\nusing System.Drawing.Drawing2D;\nusing System.Drawing.Text;\nusing System.Runtime.InteropServices;\nusing System.Windows.Forms;\nusing MetroSet_UI.Components;\nusing MetroSet_UI.Controls;\nusing MetroSet_UI.Enums;\nusing MetroSet_UI.Extensions;\nusing MetroSet_UI.Interfaces;\nusing MetroSet_UI.Native;\nusing static MetroSet_UI.Native.User32;\n\nnamespace MetroSet_UI.Forms\n{\n\t[ToolboxItem(false)]\n\t[ToolboxBitmap(typeof(MetroSetForm), \"Bitmaps.Form.bmp\")]\n\t[DesignerCategory(\"Form\")]\n\t[DefaultEvent(\"Load\")]\n\t[DesignTimeVisible(false)]\n\t[ComVisible(true)]\n\t[InitializationEvent(\"Load\")]\n\tpublic class MetroSetForm : Form, IMetroForm\n\t{\n\n\t\t#region Constructor\n\n\t\tprotected MetroSetForm()\n\t\t{\n\t\t\tSetStyle(\n\t\t\t\tControlStyles.UserPaint |\n\t\t\t\tControlStyles.AllPaintingInWmPaint |\n\t\t\t\tControlStyles.ResizeRedraw |\n\t\t\t\tControlStyles.OptimizedDoubleBuffer |\n\t\t\t\tControlStyles.ContainerControl |\n\t\t\t\tControlStyles.SupportsTransparentBackColor, true);\n\t\t\tUpdateStyles();\n\t\t\t_mth = new Methods();\n\t\t\t_utl = new Utilites();\n\t\t\t_user32 = new User32();\n\t\t\tPadding = new Padding(12, 70, 12, 12);\n\t\t\tFormBorderStyle = FormBorderStyle.None;\n\t\t\t_backgroundImageTransparency = 0.90f;\n\t\t\tbase.Font = MetroSetFonts.SemiLight(13);\n\t\t\tDropShadowEffect = true;\n\t\t\t_showLeftRect = true;\n\t\t\t_showHeader = false;\n\t\t\tAllowResize = true;\n\t\t\tApplyTheme();\n\n\t\t}\n\n\t\t#endregion Constructor\n\n\t\t#region Draw Control\n\n\t\tprotected override void OnPaint(PaintEventArgs e)\n\t\t{\n\n\t\t\te.Graphics.TextRenderingHint = TextRenderingHint.ClearTypeGridFit;\n\t\t\te.Graphics.InterpolationMode = InterpolationMode.High;\n\t\t\te.Graphics.CompositingQuality = CompositingQuality.HighQuality;\n\n\t\t\tusing (var b = new SolidBrush(BackgroundColor))\n\t\t\t{\n\t\t\t\te.Graphics.FillRectangle(b, new Rectangle(0, 0, Width, Height));\n\t\t\t\tif (BackgroundImage != null)\n\t\t\t\t{\n\t\t\t\t\t_mth.DrawImageWithTransparency(e.Graphics, BackgroundImageTransparency, BackgroundImage, ClientRectangle);\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (ShowBorder)\n\t\t\t{\n\t\t\t\tusing (var p = new Pen(BorderColor, BorderThickness))\n\t\t\t\t{\n\t\t\t\t\te.Graphics.DrawRectangle(p, new Rectangle(0, 0, Width - 1, Height - 1));\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (ShowLeftRect)\n\t\t\t{\n\t\t\t\tusing (var b = new LinearGradientBrush(new Rectangle(0, 25, SmallRectThickness, 35), SmallLineColor1, SmallLineColor2, 90))\n\t\t\t\t{\n\t\t\t\t\tusing (var textBrush = new SolidBrush(TextColor))\n\t\t\t\t\t{\n\t\t\t\t\t\te.Graphics.FillRectangle(b, new Rectangle(0, 40, SmallRectThickness, 35));\n\t\t\t\t\t\te.Graphics.DrawString(Text, Font, textBrush, new Point(SmallRectThickness + 10, 46));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tif (ShowHeader)\n\t\t\t\t{\n\t\t\t\t\tusing (var b = new SolidBrush(HeaderColor))\n\t\t\t\t\t{\n\t\t\t\t\t\te.Graphics.FillRectangle(b, new Rectangle(1, 1, Width - 1, HeaderHeight));\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tvar textBrush = new SolidBrush(TextColor);\n\t\t\t\tif (ShowTitle)\n\t\t\t\t{\n\t\t\t\t\tswitch (TextAlign)\n\t\t\t\t\t{\n\t\t\t\t\t\tcase TextAlign.Left:\n\t\t\t\t\t\t\tusing (var stringFormat = new StringFormat() { LineAlignment = StringAlignment.Center })\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\te.Graphics.DrawString(Text, Font, textBrush, new Rectangle(20, 0, Width, HeaderHeight), stringFormat);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\tcase TextAlign.Center:\n\t\t\t\t\t\t\tusing (var stringFormat = new StringFormat() { Alignment = StringAlignment.Center, LineAlignment = StringAlignment.Center })\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\te.Graphics.DrawString(Text, Font, textBrush, new Rectangle(20, 0, Width - 21, HeaderHeight), stringFormat);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\tcase TextAlign.Right:\n\t\t\t\t\t\t\tusing (var stringFormat = new StringFormat() { Alignment = StringAlignment.Far, LineAlignment = StringAlignment.Center })\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\te.Graphics.DrawString(Text, Font, textBrush, new Rectangle(20, 0, Width - 26, HeaderHeight), stringFormat);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tthrow new ArgumentOutOfRangeException();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\ttextBrush.Dispose();\n\t\t\t}\n\t\t}\n\n\t\t#endregion Draw Control\n\n\t\t#region Properties\n\n\t\t/// <summary>\n\t\t/// Gets or sets the form backcolor.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the form backcolor.\")]\n\t\tpublic Color BackgroundColor\n\t\t{\n\t\t\tget { return _backgroundColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_backgroundColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets the form fore color.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the form forecolor.\")]\n\t\tpublic override Color ForeColor { get; set; }\n\n\t\t/// <summary>\n\t\t/// Gets or sets the form border color.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the form bordercolor.\")]\n\t\tpublic Color BorderColor\n\t\t{\n\t\t\tget { return _borderColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_borderColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets the form text color.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the form textcolor.\")]\n\t\tpublic Color TextColor\n\t\t{\n\t\t\tget { return _textColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_textColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets the form small line color 1.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the form small line color 1.\")]\n\t\tpublic Color SmallLineColor1\n\t\t{\n\t\t\tget { return _smallLineColor1; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_smallLineColor1 = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets the form small line color 2.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the form small line color 2.\")]\n\t\tpublic Color SmallLineColor2\n\t\t{\n\t\t\tget { return _smallLineColor2; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_smallLineColor2 = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets the header color.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the header color.\")]\n\t\tpublic Color HeaderColor\n\t\t{\n\t\t\tget { return _headerColor; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_headerColor = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets the width of the small rectangle on top left of the window.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\t[Description(\"Gets or sets the width of the small rectangle on top left of the window.\")]\n\t\tpublic int SmallRectThickness\n\t\t{\n\t\t\tget { return _smallRectThickness; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_smallRectThickness = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets whether the border be shown.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets whether the border be shown.\"), DefaultValue(true)]\n\t\tpublic bool ShowBorder\n\t\t{\n\t\t\tget { return _showBorder; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_showBorder = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets the border thickness.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\")]\n\t\t[Description(\"Gets or sets the border thickness.\")]\n\t\tpublic float BorderThickness\n\t\t{\n\t\t\tget { return _borderThickness; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_borderThickness = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>Gets or sets the border style of the form.</summary>\n\t\t[DefaultValue(FormBorderStyle.None)]\n\t\t[Browsable(false)]\n\t\tprivate new FormBorderStyle FormBorderStyle\n\t\t{\n\t\t\tset\n\t\t\t{\n\t\t\t\tif (!Enum.IsDefined(typeof(FormBorderStyle), value))\n\t\t\t\t\tthrow new InvalidEnumArgumentException(nameof(value), (int)value, typeof(FormBorderStyle));\n\t\t\t\tbase.FormBorderStyle = FormBorderStyle.None;\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>Gets or sets a value indicating whether the Maximize button is displayed in the caption bar of the form.</summary>\n\t\t/// <returns>true to display a Maximize button for the form; otherwise, false. The default is true.</returns>\n\t\t[Category(\"WindowStyle\")]\n\t\t[Browsable(false)]\n\t\t[DefaultValue(false)]\n\t\t[Description(\"FormMaximizeBox\")]\n\t\tpublic new bool MaximizeBox => false;\n\n\t\t/// <summary>Gets or sets a value indicating whether the Minimize button is displayed in the caption bar of the form.</summary>\n\t\t/// <returns>true to display a Minimize button for the form; otherwise, false. The default is true.</returns>\n\t\t[Category(\"WindowStyle\")]\n\t\t[Browsable(false)]\n\t\t[DefaultValue(false)]\n\t\t[Description(\"FormMinimizeBox\")]\n\t\tpublic new bool MinimizeBox\n\t\t{\n\t\t\tget => false;\n\t\t\tset => value = false;\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets whether the title be shown.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets whether the title be shown.\")]\n\t\tpublic bool ShowTitle\n\t\t{\n\t\t\tget { return _showTitle; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_showTitle = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets the title alignment.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the title alignment.\")]\n\t\tpublic TextAlign TextAlign\n\t\t{\n\t\t\tget { return _textAlign; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_textAlign = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets whether show the header.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets whether show the header.\")]\n\t\tpublic bool ShowHeader\n\t\t{\n\t\t\tget => _showHeader;\n\t\t\tset\n\t\t\t{\n\t\t\t\t_showHeader = value;\n\t\t\t\tif (value)\n\t\t\t\t{\n\t\t\t\t\tShowLeftRect = false;\n\t\t\t\t\tPadding = new Padding(2, HeaderHeight + 30, 2, 2);\n\t\t\t\t\tText = Text.ToUpper();\n\t\t\t\t\tTextColor = Color.White;\n\t\t\t\t\tShowTitle = true;\n\t\t\t\t\tforeach (Control c in Controls)\n\t\t\t\t\t{\n\t\t\t\t\t\tif (c.GetType() != typeof(MetroSetControlBox))\n\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\tc.BringToFront();\n\t\t\t\t\t\tc.Location = new Point(Width - 12, 11);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tPadding = new Padding(12, 90, 12, 12);\n\t\t\t\t\tShowTitle = false;\n\t\t\t\t}\n\t\t\t\tInvalidate();\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets whether the small rectangle on top left of the window be shown.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"),\n\t\t Description(\"Gets or sets whether the small rectangle on top left of the window be shown.\")]\n\t\tpublic bool ShowLeftRect\n\t\t{\n\t\t\tget => _showLeftRect;\n\t\t\tset\n\t\t\t{\n\t\t\t\t_showLeftRect = value;\n\t\t\t\tif (value)\n\t\t\t\t{\n\t\t\t\t\tShowHeader = false;\n\t\t\t\t}\n\t\t\t\tInvalidate();\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets whether the form can be move or not.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets whether the form can be move or not.\"), DefaultValue(true)]\n\t\tpublic bool Moveable\n\t\t{\n\t\t\tget { return _movable; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_movable = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets whether the form use animation.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets whether the form use animation.\")]\n\t\tpublic bool UseSlideAnimation\n\t\t{\n\t\t\tget { return _useSlideAnimation; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_useSlideAnimation = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t[Browsable(false)]\n\t\tpublic new Padding Padding\n\t\t{\n\t\t\tget => base.Padding;\n\t\t\tset => base.Padding = value;\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets the background image transparency.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the backgroundimage transparency.\")]\n\t\tpublic float BackgroundImageTransparency\n\t\t{\n\t\t\tget => _backgroundImageTransparency;\n\t\t\tset\n\t\t\t{\n\t\t\t\tif (value > 1)\n\t\t\t\t\tthrow new Exception(\"The Value must be between 0-1.\");\n\n\t\t\t\t_backgroundImageTransparency = value;\n\t\t\t\tInvalidate();\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets the header height.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the header height.\")]\n\t\tpublic int HeaderHeight\n\t\t{\n\t\t\tget { return _headerHeight; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_headerHeight = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets the background image displayed in the control.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the background image displayed in the control.\")]\n\t\tpublic override Image BackgroundImage { get => base.BackgroundImage; set => base.BackgroundImage = value; }\n\n\t\t/// <summary>\n\t\t/// Gets or sets whether the drop shadow effect apply on form.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets whether the drop shadow effect apply on form.\")]\n\t\tpublic bool DropShadowEffect\n\t\t{\n\t\t\tget { return _dropShadowEffect; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_dropShadowEffect = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t/// <summary>\n\t\t/// Gets or sets whether the user be able to resize the form or not.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets whether the user be able to resize the form or not.\")]\n\t\tpublic bool AllowResize\n\t\t{\n\t\t\tget { return _allowResize; }\n\t\t\tset\n\t\t\t{\n\t\t\t\t_allowResize = value;\n\t\t\t\tRefresh();\n\t\t\t}\n\t\t}\n\n\n\t\t#endregion Properties\n\n\t\t#region Methods\n\n\t\t/// <summary>\n\t\t/// Allows the user to resize the form at runtime.\n\t\t/// Credits : dizzy.stackoverflow\n\t\t/// </summary>\n\t\t/// <param name=\"message\">Windows Message.</param>\n\t\tprivate void ResizeForm(ref Message message)\n\t\t{\n\t\t\tif (!AllowResize)\n\t\t\t\treturn;\n\t\t\tvar x = (int)(message.LParam.ToInt64() & 65535);\n\t\t\tvar y = (int)((message.LParam.ToInt64() & -65536) >> 0x10);\n\t\t\tvar point = PointToClient(new Point(x, y));\n\n\t\t\t#region  From Corners  \n\n\t\t\tif (point.Y >= Height - 0x10)\n\t\t\t{\n\t\t\t\tif (point.X >= Width - 0x10)\n\t\t\t\t{\n\t\t\t\t\tmessage.Result = (IntPtr)(IsMirrored ? 0x10 : 0x11);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (point.X <= 0x10)\n\t\t\t\t{\n\t\t\t\t\tmessage.Result = (IntPtr)(IsMirrored ? 0x11 : 0x10);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t\telse if (point.Y <= 0x10)\n\t\t\t{\n\t\t\t\tif (point.X <= 0x10)\n\t\t\t\t{\n\t\t\t\t\tmessage.Result = (IntPtr)(IsMirrored ? 0xe : 0xd);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (point.X >= Width - 0x10)\n\t\t\t\t{\n\t\t\t\t\tmessage.Result = (IntPtr)(IsMirrored ? 0xd : 0xe);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t#endregion\n\n\t\t\t#region From Sides\n\n\t\t\tif (point.Y <= 0x10)\n\t\t\t{\n\t\t\t\tmessage.Result = (IntPtr)0xc;\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (point.Y >= Height - 0x10)\n\t\t\t{\n\t\t\t\tmessage.Result = (IntPtr)0xf;\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (point.X <= 0x10)\n\t\t\t{\n\t\t\t\tmessage.Result = (IntPtr)0xa;\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (point.X >= Width - 0x10)\n\t\t\t{\n\t\t\t\tmessage.Result = (IntPtr)0xb;\n\t\t\t}\n\n\t\t\t#endregion\n\t\t}\n\n\t\t#endregion Methods\n\n\t\t#region Interfaces\n\n\t\t/// <summary>\n\t\t/// Gets or sets the style associated with the control.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the style associated with the control.\"), DefaultValue(Style.Light)]\n\t\tpublic Style Style\n\t\t{\n\t\t\tget => StyleManager?.Style ?? _style;\n\t\t\tset\n\t\t\t{\n\t\t\t\t_style = value;\n\t\t\t\tswitch (value)\n\t\t\t\t{\n\t\t\t\t\tcase Style.Light:\n\t\t\t\t\t\tApplyTheme();\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase Style.Dark:\n\t\t\t\t\t\tApplyTheme(Style.Dark);\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase Style.Custom:\n\t\t\t\t\t\tApplyTheme(Style.Custom);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tthrow new ArgumentOutOfRangeException(nameof(value), value, null);\n\t\t\t\t}\n\t\t\t\tInvalidate();\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets the Style Manager associated with the control.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the Style Manager associated with the control.\")]\n\t\tpublic StyleManager StyleManager\n\t\t{\n\t\t\tget => _styleManager;\n\t\t\tset\n\t\t\t{\n\t\t\t\t_styleManager = value;\n\t\t\t\tInvalidate();\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Gets or sets the The Author name associated with the theme.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the The Author name associated with the theme.\")]\n\t\tpublic string ThemeAuthor { get; set; }\n\n\t\t/// <summary>\n\t\t/// Gets or sets the The Theme name associated with the theme.\n\t\t/// </summary>\n\t\t[Category(\"MetroSet Framework\"), Description(\"Gets or sets the The Theme name associated with the theme.\")]\n\t\tpublic string ThemeName { get; set; }\n\n\t\tprivate User32 User32 => _user32;\n\n\t\tprivate User32 _user32 { get; }\n\n\t\t#endregion Interfaces\n\n\t\t#region Global Vars\n\n\t\tprivate readonly Utilites _utl;\n\t\tprivate readonly Methods _mth;\n\n\t\t#endregion Global Vars\n\n\t\t#region Internal Vars\n\n\t\tprivate Style _style;\n\t\tprivate StyleManager _styleManager;\n\t\tprivate bool _showLeftRect;\n\t\tprivate bool _showHeader;\n\t\tprivate float _backgroundImageTransparency;\n\n\t\tprivate Color _backgroundColor;\n\t\tprivate Color _borderColor;\n\t\tprivate Color _textColor;\n\t\tprivate Color _smallLineColor1;\n\t\tprivate Color _smallLineColor2;\n\t\tprivate Color _headerColor;\n\t\tprivate int _smallRectThickness = 10;\n\t\tprivate bool _showBorder;\n\t\tprivate float _borderThickness = 1;\n\t\tprivate bool _showTitle = true;\n\t\tprivate TextAlign _textAlign = TextAlign.Left;\n\t\tprivate bool _movable = true;\n\t\tprivate bool _useSlideAnimation;\n\t\tprivate int _headerHeight = 40;\n\t\tprivate bool _dropShadowEffect;\n\t\tprivate bool _allowResize;\n\n\t\t#endregion Internal Vars\n\n\t\t#region ApplyTheme\n\n\t\t/// <summary>\n\t\t/// Gets or sets the style provided by the user.\n\t\t/// </summary>\n\t\t/// <param name=\"style\">The Style.</param>\n\t\tinternal void ApplyTheme(Style style = Style.Light)\n\t\t{\n\t\t\tswitch (style)\n\t\t\t{\n\t\t\t\tcase Style.Light:\n\t\t\t\t\tForeColor = Color.Gray;\n\t\t\t\t\tBackgroundColor = Color.White;\n\t\t\t\t\tBorderColor = Color.FromArgb(65, 177, 225);\n\t\t\t\t\tTextColor = ShowHeader ? Color.White : Color.Gray;\n\t\t\t\t\tSmallLineColor1 = Color.FromArgb(65, 177, 225);\n\t\t\t\t\tSmallLineColor2 = Color.FromArgb(65, 177, 225);\n\t\t\t\t\tHeaderColor = Color.FromArgb(65, 177, 225);\n\t\t\t\t\tThemeAuthor = \"Narwin\";\n\t\t\t\t\tThemeName = \"MetroLite\";\n\t\t\t\t\tUpdateProperties();\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase Style.Dark:\n\t\t\t\t\tForeColor = Color.White;\n\t\t\t\t\tBackgroundColor = Color.FromArgb(30, 30, 30);\n\t\t\t\t\tBorderColor = Color.FromArgb(65, 177, 225);\n\t\t\t\t\tSmallLineColor1 = Color.FromArgb(65, 177, 225);\n\t\t\t\t\tSmallLineColor2 = Color.FromArgb(65, 177, 225);\n\t\t\t\t\tHeaderColor = Color.FromArgb(65, 177, 225);\n\t\t\t\t\tTextColor = ShowHeader ? Color.Gray : Color.White;\n\t\t\t\t\tThemeAuthor = \"Narwin\";\n\t\t\t\t\tThemeName = \"MetroDark\";\n\t\t\t\t\tUpdateProperties();\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase Style.Custom:\n\t\t\t\t\tif (StyleManager != null)\n\t\t\t\t\t\tforeach (var varkey in StyleManager.FormDictionary)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tif (!string.Equals(varkey.Key, null, StringComparison.Ordinal) && varkey.Key != null)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tif (varkey.Key == \"ForeColor\")\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tForeColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\telse if (varkey.Key == \"BackColor\")\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tBackgroundColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\telse if (varkey.Key == \"BorderColor\")\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tBorderColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\telse if (varkey.Key == \"TextColor\")\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tTextColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\telse if (varkey.Key == \"SmallLineColor1\")\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tSmallLineColor1 = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\telse if (varkey.Key == \"SmallLineColor2\")\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tSmallLineColor2 = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\telse if (varkey.Key == \"SmallRectThickness\")\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tSmallRectThickness = int.Parse(varkey.Value.ToString());\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\telse if (varkey.Key == \"HeaderColor\")\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tHeaderColor = _utl.HexColor((string)varkey.Value);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tthrow new Exception(\"FormDictionary is empty\");\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\tUpdateProperties();\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\tprivate void UpdateProperties()\n\t\t{\n\t\t\tInvalidate();\n\t\t}\n\n\t\t#endregion Theme Changing\n\n\t\t#region Events\n\n\t\t/// <summary>\n\t\t/// Handling windows messages.\n\t\t/// </summary>\n\t\t/// <param name=\"message\">Windows Messages</param>\n\t\tprotected override void WndProc(ref Message message)\n\t\t{\n\t\t\tbase.WndProc(ref message);\n\n\t\t\tif ((message.Msg != _WM_NCHITTEST) | !Moveable)\n\t\t\t\treturn;\n\n\t\t\t// Allow users to move the form.\n\t\t\tif ((int)message.Result == _HTCLIENT)\n\t\t\t\tmessage.Result = new IntPtr(_HTCAPTION);\n\n\t\t\t// Allow users to resize the form.\n\t\t\tResizeForm(ref message);\n\n\t\t}\n\n\n\t\tprotected override void OnHandleCreated(EventArgs e)\n\t\t{\n\t\t\tAutoScaleMode = AutoScaleMode.None;\n\t\t\tbase.OnHandleCreated(e);\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Make the drop shadow effect on form in case drop shadow property set to 'true'.\n\t\t/// </summary>\n\t\tprotected override CreateParams CreateParams\n\t\t{\n\t\t\tget\n\t\t\t{\n\t\t\t\tif (!DropShadowEffect)\n\t\t\t\t\treturn base.CreateParams;\n\t\t\t\tvar cp = base.CreateParams;\n\t\t\t\tcp.ClassStyle |= _CS_DROPSHADOW;\n\t\t\t\treturn cp;\n\t\t\t}\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Fade in effect on form while loading.\n\t\t/// </summary>\n\t\t/// <param name=\"e\">EventArgs</param>\n\t\tprotected override void OnLoad(EventArgs e)\n\t\t{\n\t\t\tbase.OnLoad(e);\n\t\t\t// https://www.codeproject.com/Articles/30255/C-Fade-Form-Effect-With-the-AnimateWindow-API-Func\n\t\t\tAnimateWindow(Handle, 800, AnimateWindowFlags.AW_ACTIVATE | (UseSlideAnimation ?\n\t\t\t\t  AnimateWindowFlags.AW_HOR_POSITIVE | AnimateWindowFlags.AW_SLIDE : AnimateWindowFlags.AW_BLEND));\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Fade out effect on form while loading.\n\t\t/// </summary>\n\t\t/// <param name=\"e\">EventArgs</param>\n\t\tprotected override void OnClosing(CancelEventArgs e)\n\t\t{\n\t\t\tbase.OnClosing(e);\n\t\t\t// https://www.codeproject.com/Articles/30255/C-Fade-Form-Effect-With-the-AnimateWindow-API-Func\n\t\t\tif (e.Cancel == false)\n\t\t\t{\n\t\t\t\tAnimateWindow(Handle, 800, User32.AW_HIDE | (UseSlideAnimation ?\n\t\t\t\t\t\t\t  AnimateWindowFlags.AW_HOR_NEGATIVE | AnimateWindowFlags.AW_SLIDE : AnimateWindowFlags.AW_BLEND));\n\t\t\t}\n\t\t}\n\n\t\t#endregion\n\n\t}\n\n}"
  },
  {
    "path": "MetroSet UI/Forms/MetroSetForm.resx",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The primary goals of this format is to allow a simple XML format \n    that is mostly human readable. The generation and parsing of the \n    various data types are done through the TypeConverter classes \n    associated with the data types.\n    \n    Example:\n    \n    ... ado.net/XML headers & schema ...\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\n    <resheader name=\"version\">2.0</resheader>\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\n    </data>\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\n        <comment>This is a comment</comment>\n    </data>\n                \n    There are any number of \"resheader\" rows that contain simple \n    name/value pairs.\n    \n    Each data row contains a name, and value. The row also contains a \n    type or mimetype. Type corresponds to a .NET class that support \n    text/value conversion through the TypeConverter architecture. \n    Classes that don't support this are serialized and stored with the \n    mimetype set.\n    \n    The mimetype is used for serialized objects, and tells the \n    ResXResourceReader how to depersist the object. This is currently not \n    extensible. For a given mimetype the value must be set accordingly:\n    \n    Note - application/x-microsoft.net.object.binary.base64 is the format \n    that the ResXResourceWriter will generate, however the reader can \n    read any of the formats listed below.\n    \n    mimetype: application/x-microsoft.net.object.binary.base64\n    value   : The object must be serialized with \n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\n            : and then encoded with base64 encoding.\n    \n    mimetype: application/x-microsoft.net.object.soap.base64\n    value   : The object must be serialized with \n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\n            : and then encoded with base64 encoding.\n\n    mimetype: application/x-microsoft.net.object.bytearray.base64\n    value   : The object must be serialized into a byte array \n            : using a System.ComponentModel.TypeConverter\n            : and then encoded with base64 encoding.\n    -->\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\n      <xsd:complexType>\n        <xsd:choice maxOccurs=\"unbounded\">\n          <xsd:element name=\"metadata\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"assembly\">\n            <xsd:complexType>\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"data\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"resheader\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\n            </xsd:complexType>\n          </xsd:element>\n        </xsd:choice>\n      </xsd:complexType>\n    </xsd:element>\n  </xsd:schema>\n  <resheader name=\"resmimetype\">\n    <value>text/microsoft-resx</value>\n  </resheader>\n  <resheader name=\"version\">\n    <value>2.0</value>\n  </resheader>\n  <resheader name=\"reader\">\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n  <resheader name=\"writer\">\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n  <metadata name=\"styleManager1.TrayLocation\" type=\"System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a\">\n    <value>17, 17</value>\n  </metadata>\n</root>"
  },
  {
    "path": "MetroSet UI/Forms/MetroSetMessageBox.cs",
    "content": "﻿/*\n * MetroSet UI - MetroSet UI Framework\n * \n * The MIT License (MIT)\n * Copyright (c) 2017 Narwin, https://github.com/N-a-r-w-i-n\n * \n * Permission is hereby granted, free of charge, to any person obtaining a copy of \n * this software and associated documentation files (the \"Software\"), to deal in the \n * Software without restriction, including without limitation the rights to use, copy, \n * modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, \n * and to permit persons to whom the Software is furnished to do so, subject to the \n * following conditions:\n * \n * The above copyright notice and this permission notice shall be included in \n * all copies or substantial portions of the Software.\n * \n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, \n * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A \n * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT \n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF \n * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE \n * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nusing System;\nusing System.ComponentModel;\nusing System.Drawing;\nusing System.Windows.Forms;\nusing MetroSet_UI.Controls;\nusing MetroSet_UI.Extensions;\n\nnamespace MetroSet_UI.Forms\n{\n\tpublic class MetroSetMessageBox : MetroSetForm\n\t{\n\n\t\t#region Internal vars\n\n\t\tprivate Size _buttonSize;\n\t\tprivate MetroSetDefaultButton _okButton;\n\t\tprivate MetroSetDefaultButton _yesButton;\n\t\tprivate MetroSetDefaultButton _noButton;\n\t\tprivate MetroSetDefaultButton _cancelButton;\n\t\tprivate MetroSetDefaultButton _retryButton;\n\t\tprivate MetroSetDefaultButton _abortButton;\n\t\tprivate MetroSetDefaultButton _ignoreButton;\n\n\t\t#endregion\n\n\t\t#region Properties\n\n\t\t/// <summary>\n\t\t/// Get or sets the parent form.\n\t\t/// </summary>\n\t\tprivate Form OwnerForm { get; set; }\n\n\t\t/// <summary>\n\t\t/// Gets or sets the content of the message.\n\t\t/// </summary>\n\t\tpublic string Content { get; set; }\n\n\t\t/// <summary>\n\t\t/// Gets or sets the title of the content\n\t\t/// </summary>\n\t\tpublic string Caption { get; set; }\n\n\t\t/// <summary>\n\t\t/// Gets or sets the MessageBoxButtons.\n\t\t/// </summary> \n\t\tpublic MessageBoxButtons Buttons { get; set; }\n\n\t\t/// <summary>\n\t\t/// Gets or sets the MessageBoxIcon.\n\t\t/// </summary>\n\t\tpublic new MessageBoxIcon Icon { get; set; }\n\n\t\t/// <summary>\n\t\t/// Gets or sets the BackgroundColor\n\t\t/// </summary>\n\t\t[Browsable(false)]\n\t\t[EditorBrowsable(EditorBrowsableState.Never)]\n\t\tprivate new static Color BackgroundColor { get; set; }\n\n\t\t/// <summary>\n\t\t/// Gets or sets the BorderColor\n\t\t/// </summary>\n\t\t[Browsable(false)]\n\t\t[EditorBrowsable(EditorBrowsableState.Never)]\n\t\tprivate new static Color BorderColor { get; set; }\n\n\t\t/// <summary>\n\t\t/// Gets or sets the ForegroundColor\n\t\t/// </summary>\n\t\t[Browsable(false)]\n\t\t[EditorBrowsable(EditorBrowsableState.Never)]\n\t\tprivate static Color ForegroundColor { get; set; }\n\n\n\t\t#endregion\n\n\t\t#region Constructor\n\n\t\t/// <summary>\n\t\t/// The Constructor.\n\t\t/// </summary>\n\t\tprivate MetroSetMessageBox()\n\t\t{\n\t\t\tbase.Font = MetroSetFonts.Regular(9.5f);\n\t\t\tShowInTaskbar = false;\n\t\t\tStartPosition = FormStartPosition.CenterParent;\n\t\t\t_buttonSize = new Size(95, 32);\n\t\t\tApplyTheme();\n\t\t\tEvaluateControls();\n\t\t\tAddControls();\n\t\t\t//HideControls();\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Here we set the buttons properties value.\n\t\t/// </summary>\n\t\tprivate void EvaluateControls()\n\t\t{\n\t\t\tEvaluateOkeyButton();\n\n\t\t\tEvaluateYesButton();\n\n\t\t\tEvaluateNoButton();\n\n\t\t\tEvaluateCancelButton();\n\n\t\t\tEvaluateRetryButton();\n\n\t\t\tEvaluateAbortButton();\n\n\t\t\tEvaluateIgnoreButton();\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Adding the controls just to be exist in form but we don't need them all at the moment.\n\t\t/// </summary>\n\t\tprivate void AddControls()\n\t\t{\n\t\t\tControls.Add(_okButton);\n\t\t\tControls.Add(_yesButton);\n\t\t\tControls.Add(_noButton);\n\t\t\tControls.Add(_cancelButton);\n\t\t\tControls.Add(_retryButton);\n\t\t\tControls.Add(_abortButton);\n\t\t\tControls.Add(_ignoreButton);\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Set the required properties values and click event of retry button.\n\t\t/// </summary>\n\t\tprivate void EvaluateRetryButton()\n\t\t{\n\t\t\t_retryButton = new MetroSetDefaultButton\n\t\t\t{\n\t\t\t\tText = @\"Retry\",\n\t\t\t\tSize = _buttonSize,\n\t\t\t\tVisible = false\n\t\t\t};\n\t\t\t_retryButton.Click += RetryButton_Click;\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Set the required properties values and click event of cancel button.\n\t\t/// </summary>\n\t\tprivate void EvaluateCancelButton()\n\t\t{\n\t\t\t_cancelButton = new MetroSetDefaultButton\n\t\t\t{\n\t\t\t\tText = @\"Cancel\",\n\t\t\t\tSize = _buttonSize,\n\t\t\t\tVisible = false\n\t\t\t};\n\t\t\t_cancelButton.Click += CancelButton_Click;\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Set the required properties values and click event of no button.\n\t\t/// </summary>\n\t\tprivate void EvaluateNoButton()\n\t\t{\n\t\t\t_noButton = new MetroSetDefaultButton\n\t\t\t{\n\t\t\t\tText = @\"No\",\n\t\t\t\tSize = _buttonSize,\n\t\t\t\tVisible = false\n\t\t\t};\n\t\t\t_noButton.Click += NoButton_Click;\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Set the required properties values and click event of yes button.\n\t\t/// </summary>\n\t\tprivate void EvaluateYesButton()\n\t\t{\n\t\t\t_yesButton = new MetroSetDefaultButton\n\t\t\t{\n\t\t\t\tText = @\"Yes\",\n\t\t\t\tSize = _buttonSize,\n\t\t\t\tVisible = false\n\t\t\t};\n\t\t\t_yesButton.Click += YesButton_Click;\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Set the required properties values and click event of ok button.\n\t\t/// </summary>\n\t\tprivate void EvaluateOkeyButton()\n\t\t{\n\t\t\t_okButton = new MetroSetDefaultButton\n\t\t\t{\n\t\t\t\tText = @\"Ok\",\n\t\t\t\tSize = _buttonSize,\n\t\t\t\tVisible = false\n\t\t\t};\n\t\t\t_okButton.Click += OkButton_Click;\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Set the required properties values and click event of abort button.\n\t\t/// </summary>\n\t\tprivate void EvaluateAbortButton()\n\t\t{\n\t\t\t_abortButton = new MetroSetDefaultButton\n\t\t\t{\n\t\t\t\tText = @\"Abort\",\n\t\t\t\tSize = _buttonSize,\n\t\t\t\tVisible = false\n\n\t\t\t};\n\t\t\t_abortButton.Click += AbortButton_Click;\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Set the required properties values and click event of ignore button.\n\t\t/// </summary>\n\t\tprivate void EvaluateIgnoreButton()\n\t\t{\n\t\t\t_ignoreButton = new MetroSetDefaultButton\n\t\t\t{\n\t\t\t\tText = @\"Ignore\",\n\t\t\t\tSize = _buttonSize,\n\t\t\t\tVisible = false\n\t\t\t};\n\t\t\t_ignoreButton.Click += IgnoreButton_Click;\n\t\t}\n\n\t\t#endregion\n\n\t\t#region Events\n\n\t\t/// <summary>\n\t\t/// Handling the retry button click.\n\t\t/// </summary>\n\t\t/// <param name=\"sender\">sender</param>\n\t\t/// <param name=\"e\">EventArgs</param>\n\t\tprivate void RetryButton_Click(object sender, EventArgs e)\n\t\t{\n\t\t\tDialogResult = DialogResult.Retry;\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Handling the cancel button click.\n\t\t/// </summary>\n\t\t/// <param name=\"sender\">sender</param>\n\t\t/// <param name=\"e\">EventArgs</param>\n\t\tprivate void CancelButton_Click(object sender, EventArgs e)\n\t\t{\n\t\t\tDialogResult = DialogResult.Cancel;\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Handling the no button click.\n\t\t/// </summary>\n\t\t/// <param name=\"sender\">sender</param>\n\t\t/// <param name=\"e\">EventArgs</param>\n\t\tprivate void NoButton_Click(object sender, EventArgs e)\n\t\t{\n\t\t\tDialogResult = DialogResult.No;\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Handling the yes button click.\n\t\t/// </summary>\n\t\t/// <param name=\"sender\">sender</param>\n\t\t/// <param name=\"e\">EventArgs</param>\n\t\tprivate void YesButton_Click(object sender, EventArgs e)\n\t\t{\n\t\t\tDialogResult = DialogResult.Yes;\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Handling the okey button click.\n\t\t/// </summary>\n\t\t/// <param name=\"sender\">sender</param>\n\t\t/// <param name=\"e\">EventArgs</param>\n\t\tprivate void OkButton_Click(object sender, EventArgs e)\n\t\t{\n\t\t\tDialogResult = DialogResult.OK;\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Handling the abort button click.\n\t\t/// </summary>\n\t\t/// <param name=\"sender\">sender</param>\n\t\t/// <param name=\"e\">EventArgs</param>\n\t\tprivate void AbortButton_Click(object sender, EventArgs e)\n\t\t{\n\t\t\tDialogResult = DialogResult.Abort;\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Handling the ignore button click.\n\t\t/// </summary>\n\t\t/// <param name=\"sender\">sender</param>\n\t\t/// <param name=\"e\">EventArgs</param>\n\t\tprivate void IgnoreButton_Click(object sender, EventArgs e)\n\t\t{\n\t\t\tDialogResult = DialogResult.Ignore;\n\t\t}\n\n\t\t/// <summary>\n\t\t/// When the user just provides the content of message to appear.\n\t\t/// </summary>\n\t\t/// <param name=\"form\">The Form that messagebox will be showed from.</param>\n\t\t/// <param name=\"content\">The Content of the message.</param>\n\t\t/// <returns>The MessageBox with just the content and an ok button.</returns>\n\t\tpublic static DialogResult Show(MetroSetForm form, string content)\n\t\t{\n\t\t\treturn Show(form, content, form.Text, MessageBoxButtons.OK, MessageBoxIcon.None);\n\t\t}\n\n\t\t/// <summary>\n\t\t///  When the user provides the content of message and the message title to appear.\n\t\t/// </summary>\n\t\t/// <param name=\"form\">The Form that messagebox will be showed from.</param>\n\t\t/// <param name=\"content\">The Content of the message.</param>\n\t\t/// <param name=\"caption\">The MesageBox title.</param>\n\t\t/// <returns>The MessageBox with the content and title and an ok button.</returns>\n\t\tpublic static DialogResult Show(MetroSetForm form, string content, string caption)\n\t\t{\n\t\t\treturn Show(form, content, caption, MessageBoxButtons.OK, MessageBoxIcon.None);\n\t\t}\n\n\t\t/// <summary>\n\t\t/// When the user provides the content of message and the message title and also which type of buttons to appear.\n\t\t/// </summary>\n\t\t/// <param name=\"form\">The Form that messagebox will be showed from.</param>\n\t\t/// <param name=\"content\">The Content of the message.</param>\n\t\t/// <param name=\"caption\">The MesageBox title.</param>\n\t\t/// <param name=\"buttons\">The Type of buttons to appear.</param>\n\t\t/// <returns>The MessageBox with the content and title and provided button(s) type.</returns>\n\t\tpublic static DialogResult Show(MetroSetForm form, string content, string caption, MessageBoxButtons buttons)\n\t\t{\n\t\t\treturn Show(form, content, caption, buttons, MessageBoxIcon.None);\n\t\t}\n\n\t\t/// <summary>\n\t\t/// When the user provides the content of message and the message title and also which type message and buttons to appear.\n\t\t/// </summary>\n\t\t/// <param name=\"form\">The Form that messagebox will be showed from.</param>\n\t\t/// <param name=\"content\">The Content of the message.</param>\n\t\t/// <param name=\"caption\">The MesageBox title.</param>\n\t\t/// <param name=\"buttons\">The Type of buttons to appear.</param>\n\t\t/// <param name=\"icon\">The MessageBox type.</param>\n\t\t/// <returns>The MessageBox with the content and title and provided button(s) and type.</returns>\n\t\tpublic static DialogResult Show(MetroSetForm form, string content, string caption, MessageBoxButtons buttons, MessageBoxIcon icon)\n\t\t{\n\t\t\tconst string message = @\"MetroSetMessageBox requires a form, use 'this' as the first parameter in the place you use MetroSetMessageBox.\";\n\t\t\tvar msgBox = new MetroSetMessageBox\n\t\t\t{\n\t\t\t\tOwnerForm = form ?? throw new ArgumentNullException(message),\n\t\t\t\tContent = content,\n\t\t\t\tCaption = caption,\n\t\t\t\tButtons = buttons,\n\t\t\t\tSize = new Size(form.Width - 2, (form.Height / 3) - 1),\n\t\t\t\tLocation = new Point(form.Location.X, (form.Height / 2) - 1)\n\t\t\t};\n\n\t\t\tif (icon == MessageBoxIcon.Error || icon == MessageBoxIcon.Stop)\n\t\t\t{\n\t\t\t\tBackgroundColor = Color.FromArgb(210, 50, 45);\n\t\t\t\tBorderColor = Color.FromArgb(210, 50, 45);\n\t\t\t\tForegroundColor = Color.White;\n\t\t\t}\n\n\t\t\telse if (icon == MessageBoxIcon.Information)\n\t\t\t{\n\t\t\t\tBackgroundColor = Color.FromArgb(60, 180, 218);\n\t\t\t\tBorderColor = Color.FromArgb(60, 180, 218);\n\t\t\t\tForegroundColor = Color.White;\n\t\t\t}\n\n\t\t\telse if (icon == MessageBoxIcon.Question)\n\t\t\t{\n\t\t\t\tBackgroundColor = Color.FromArgb(70, 165, 70);\n\t\t\t\tBorderColor = Color.FromArgb(70, 165, 70);\n\t\t\t\tForegroundColor = Color.White;\n\t\t\t}\n\n\t\t\telse if (icon == MessageBoxIcon.Exclamation || icon == MessageBoxIcon.Warning)\n\t\t\t{\n\t\t\t\tBackgroundColor = Color.FromArgb(237, 156, 40);\n\t\t\t\tBorderColor = Color.FromArgb(237, 156, 40);\n\t\t\t\tForegroundColor = Color.White;\n\t\t\t}\n\n\t\t\telse if (icon == MessageBoxIcon.None || icon == MessageBoxIcon.Asterisk || icon == MessageBoxIcon.Hand)\n\t\t\t{\n\t\t\t\tBackgroundColor = Color.White;\n\t\t\t\tBorderColor = Color.FromArgb(65, 177, 225);\n\t\t\t\tForegroundColor = Color.Black;\n\t\t\t}\n\n\t\t\treturn msgBox.ShowDialog();\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Here we handle the user provided buttons appearance.\n\t\t/// </summary>\n\t\t/// <returns>The MessageBox with provided buttons.</returns>\n\t\tprotected new DialogResult ShowDialog()\n\t\t{\n\n\t\t\tvar buttonHeight = Height - 45;\n\t\t\tvar firstButton = (Width - _buttonSize.Width) - 10;\n\t\t\tvar secondButoon = (Width - (_buttonSize.Width * 2)) - 20;\n\t\t\tswitch (Buttons)\n\t\t\t{\n\t\t\t\tcase MessageBoxButtons.OK:\n\t\t\t\t\t_okButton.Location = new Point(firstButton, buttonHeight);\n\t\t\t\t\t_okButton.Visible = true;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase MessageBoxButtons.OKCancel:\n\t\t\t\t\t_okButton.Location = new Point(secondButoon, buttonHeight);\n\t\t\t\t\t_okButton.Visible = true;\n\t\t\t\t\t_cancelButton.Location = new Point(firstButton, buttonHeight);\n\t\t\t\t\t_cancelButton.Visible = true;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase MessageBoxButtons.YesNo:\n\t\t\t\t\t_yesButton.Location = new Point(secondButoon, buttonHeight);\n\t\t\t\t\t_yesButton.Visible = true;\n\t\t\t\t\t_noButton.Location = new Point(firstButton, buttonHeight);\n\t\t\t\t\t_noButton.Visible = true;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase MessageBoxButtons.YesNoCancel:\n\t\t\t\t\t_yesButton.Location = new Point((Width - (_buttonSize.Width * 3)) - 30, buttonHeight);\n\t\t\t\t\t_yesButton.Visible = true;\n\t\t\t\t\t_noButton.Location = new Point(secondButoon, buttonHeight);\n\t\t\t\t\t_noButton.Visible = true;\n\t\t\t\t\t_cancelButton.Location = new Point(firstButton, buttonHeight);\n\t\t\t\t\t_cancelButton.Visible = true;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase MessageBoxButtons.RetryCancel:\n\t\t\t\t\t_retryButton.Location = new Point(secondButoon, buttonHeight);\n\t\t\t\t\t_retryButton.Visible = true;\n\t\t\t\t\t_cancelButton.Location = new Point(firstButton, buttonHeight);\n\t\t\t\t\t_cancelButton.Visible = true;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase MessageBoxButtons.AbortRetryIgnore:\n\t\t\t\t\t_abortButton.Location = new Point((Width - (_buttonSize.Width * 3)) - 30, buttonHeight);\n\t\t\t\t\t_abortButton.Visible = true;\n\t\t\t\t\t_retryButton.Location = new Point(secondButoon, buttonHeight);\n\t\t\t\t\t_retryButton.Visible = true;\n\t\t\t\t\t_ignoreButton.Location = new Point(firstButton, buttonHeight);\n\t\t\t\t\t_ignoreButton.Visible = true;\n\t\t\t\t\tbreak;\n\n\t\t\t\tdefault:\n\t\t\t\t\t_okButton.Location = new Point(firstButton, buttonHeight);\n\t\t\t\t\t_okButton.Visible = true;\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t\treturn base.ShowDialog();\n\t\t}\n\n\t\t#endregion\n\n\t\t#region Draw Dialog\n\n\t\tprotected override void OnPaint(PaintEventArgs e)\n\t\t{\n\t\t\tvar G = e.Graphics;\n\t\t\tG.TextRenderingHint = System.Drawing.Text.TextRenderingHint.ClearTypeGridFit;\n\n\t\t\tvar rect = new Rectangle(0, ((OwnerForm.Height - (OwnerForm.Height / 2)) / 250), OwnerForm.Width - 3, (OwnerForm.Height / 3) - 3);\n\n\t\t\tusing (var bg = new SolidBrush(BackgroundColor))\n\t\t\t{\n\t\t\t\tusing (var CTNT = new SolidBrush(ForegroundColor))\n\t\t\t\t{\n\t\t\t\t\tusing (var p = new Pen(BorderColor))\n\t\t\t\t\t{\n\t\t\t\t\t\tG.FillRectangle(bg, rect);\n\t\t\t\t\t\tG.DrawString(Caption, Font, CTNT, new PointF(rect.X + 10, rect.Y + 10));\n\t\t\t\t\t\tG.DrawString(Content, Font, CTNT, new PointF(rect.X + 10, rect.Y + 50));\n\t\t\t\t\t\tG.DrawRectangle(p, rect);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t#endregion\n\n\t}\n}\n"
  },
  {
    "path": "MetroSet UI/Interfaces/IMetroForm.cs",
    "content": "﻿/*\n * MetroSet UI - MetroSet UI Framework\n * \n * The MIT License (MIT)\n * Copyright (c) 2017 Narwin, https://github.com/N-a-r-w-i-n\n * \n * Permission is hereby granted, free of charge, to any person obtaining a copy of \n * this software and associated documentation files (the \"Software\"), to deal in the \n * Software without restriction, including without limitation the rights to use, copy, \n * modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, \n * and to permit persons to whom the Software is furnished to do so, subject to the \n * following conditions:\n * \n * The above copyright notice and this permission notice shall be included in \n * all copies or substantial portions of the Software.\n * \n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, \n * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A \n * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT \n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF \n * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE \n * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nusing MetroSet_UI.Components;\nusing MetroSet_UI.Enums;\n\nnamespace MetroSet_UI.Interfaces\n{\n\tpublic interface IMetroForm\n\t{\n\t\t/// <summary>\n\t\t/// Gets or sets the style associated with the Form.\n\t\t/// </summary>\n\t\tStyle Style { get; set; }\n\n\t\t/// <summary>\n\t\t/// Gets or sets the StyleManager associated with the Form.\n\t\t/// </summary>\n\t\tStyleManager StyleManager { get; set; }\n\n\t\t/// <summary>\n\t\t/// Gets or sets the The Author name associated with the theme.\n\t\t/// </summary>\n\t\tstring ThemeAuthor { get; set; }\n\n\t\t/// <summary>\n\t\t/// Gets or sets the The Theme name associated with the theme.\n\t\t/// </summary>\n\t\tstring ThemeName { get; set; }\n\n\t}\n}"
  },
  {
    "path": "MetroSet UI/Interfaces/IMetroSetControl.cs",
    "content": "﻿/*\n * MetroSet UI - MetroSet UI Framework\n * \n * The MIT License (MIT)\n * Copyright (c) 2017 Narwin, https://github.com/N-a-r-w-i-n\n * \n * Permission is hereby granted, free of charge, to any person obtaining a copy of \n * this software and associated documentation files (the \"Software\"), to deal in the \n * Software without restriction, including without limitation the rights to use, copy, \n * modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, \n * and to permit persons to whom the Software is furnished to do so, subject to the \n * following conditions:\n * \n * The above copyright notice and this permission notice shall be included in \n * all copies or substantial portions of the Software.\n * \n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, \n * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A \n * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT \n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF \n * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE \n * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nusing MetroSet_UI.Components;\nusing MetroSet_UI.Enums;\n\nnamespace MetroSet_UI.Interfaces\n{\n\tpublic interface IMetroSetControl\n\t{\n\t\t/// <summary>\n\t\t/// Gets or sets the style associated with the control.\n\t\t/// </summary>\n\t\tStyle Style { get; set; }\n\n\t\t/// <summary>\n\t\t/// Gets or sets the StyleManager associated with the control.\n\t\t/// </summary>\n\t\tStyleManager StyleManager { get; set; }\n\n\t\t/// <summary>\n\t\t/// Gets or sets the The Author name associated with the theme.\n\t\t/// </summary>\n\t\tstring ThemeAuthor { get; set; }\n\n\t\t/// <summary>\n\t\t/// Gets or sets the The Theme name associated with the theme.\n\t\t/// </summary>\n\t\tstring ThemeName { get; set; }\n\n\t\t/// <summary>\n\t\t/// Gets or sets the whether this control reflect to parent form style.\n\t\t/// Set it to false if you want the style of this control be independent. \n\t\t/// </summary>\n\t\tbool IsDerivedStyle { get; set; }\n\t}\n\n\n}"
  },
  {
    "path": "MetroSet UI/Interfaces/MetroSetControl.cs",
    "content": "﻿using MetroSet_UI.Components;\nusing MetroSet_UI.Enums;\n\nnamespace MetroSet_UI.Interfaces\n{\n\tpublic interface MetroSetControl\n\t{\n\t\t/// <summary>\n\t\t///\n\t\t/// </summary>\n\t\tStyle Style { get; set; }\n\n\t\t/// <summary>\n\t\t///\n\t\t/// </summary>\n\t\tStyleManager StyleManager { get; set; }\n\n\t\tstring ThemeAuthor { get; set; }\n\t\tstring ThemeName { get; set; }\n\t}\n\n\n}"
  },
  {
    "path": "MetroSet UI/Interfaces/MetroSetForm.cs",
    "content": "﻿using MetroSet_UI.Components;\nusing MetroSet_UI.Enums;\n\nnamespace MetroSet_UI.Interfaces\n{\n\tpublic interface iMetroSetForm\n\t{\n\t\t/// <summary>\n\t\t///\n\t\t/// </summary>\n\t\tStyle Style { get; set; }\n\n\t\t/// <summary>\n\t\t///\n\t\t/// </summary>\n\t\tStyleManager StyleManager { get; set; }\n\n\t\tstring ThemeAuthor { get; set; }\n\n\t\tstring ThemeName { get; set; }\n\n\t}\n}"
  },
  {
    "path": "MetroSet UI/MetroSet UI.csproj",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n\n<Project Sdk=\"Microsoft.NET.Sdk.WindowsDesktop\">\n  <PropertyGroup>\n    <OutputType>Library</OutputType>\n    <UseWindowsForms>True</UseWindowsForms>\n    <AppDesignerFolder>Properties</AppDesignerFolder>\n    <RootNamespace>MetroSet_UI</RootNamespace>\n    <AssemblyName>MetroSet UI</AssemblyName>\n    <GenerateAssemblyInfo>False</GenerateAssemblyInfo>\n    <TargetFrameworks>net45;netcoreapp3.1</TargetFrameworks>\n    <ApplicationIcon />\n    <GeneratePackageOnBuild>true</GeneratePackageOnBuild>\n    <PackageProjectUrl>https://github.com/N-a-r-w-i-n/MetroSet-UI</PackageProjectUrl>\n    <RepositoryUrl>https://github.com/N-a-r-w-i-n/MetroSet-UI</RepositoryUrl>\n    <PackageId>MetroSetUI</PackageId>\n    <PackageRequireLicenseAcceptance>true</PackageRequireLicenseAcceptance>\n    <PackageLicenseExpression></PackageLicenseExpression>\n    <PackageLicenseFile>LICENSE</PackageLicenseFile>\n\n  </PropertyGroup>\n\n\n  <ItemGroup Condition=\"'$(TargetFramework)' != 'netcoreapp3.1'\">\n    <Reference Include=\"System.Design\" />\n  </ItemGroup>\n\n\n  <ItemGroup>\n    <Compile Remove=\"Controls\\MetroSetDataGrid.cs\" />\n  </ItemGroup>\n\n\n  <ItemGroup>\n    <Compile Update=\"Properties\\Settings.Designer.cs\">\n      <DesignTimeSharedInput>True</DesignTimeSharedInput>\n      <AutoGen>True</AutoGen>\n      <DependentUpon>Settings.settings</DependentUpon>\n    </Compile>\n  </ItemGroup>\n\n\n  <ItemGroup>\n    <None Update=\"Properties\\Settings.settings\">\n      <Generator>SettingsSingleFileGenerator</Generator>\n      <LastGenOutput>Settings.Designer.cs</LastGenOutput>\n    </None>\n    <None Include=\"..\\LICENSE\">\n      <Pack>True</Pack>\n      <PackagePath></PackagePath>\n    </None>\n  </ItemGroup>\n\n  <ItemGroup>\n    <EmbeddedResource Include=\"Bitmaps\\Button.bmp\" />\n    <EmbeddedResource Include=\"Bitmaps\\CheckBox.bmp\" />\n    <EmbeddedResource Include=\"Bitmaps\\ComoBox.bmp\" />\n    <EmbeddedResource Include=\"Bitmaps\\ContextMenu.bmp\" />\n    <EmbeddedResource Include=\"Bitmaps\\ControlButton.bmp\" />\n    <EmbeddedResource Include=\"Bitmaps\\Divider.png\" />\n    <EmbeddedResource Include=\"Bitmaps\\Ellipse.bmp\" />\n    <EmbeddedResource Include=\"Bitmaps\\LinkLabel.bmp\" />\n    <EmbeddedResource Include=\"Bitmaps\\ListBox.bmp\" />\n    <EmbeddedResource Include=\"Bitmaps\\Numeric.bmp\" />\n    <EmbeddedResource Include=\"Bitmaps\\Panel.bmp\" />\n    <EmbeddedResource Include=\"Bitmaps\\Progress.bmp\" />\n    <EmbeddedResource Include=\"Bitmaps\\RadioButton.bmp\" />\n    <EmbeddedResource Include=\"Bitmaps\\RitchTextBox.bmp\" />\n    <EmbeddedResource Include=\"Bitmaps\\ScrollBar.bmp\" />\n    <EmbeddedResource Include=\"Bitmaps\\Slider.bmp\" />\n    <EmbeddedResource Include=\"Bitmaps\\Style.bmp\" />\n    <EmbeddedResource Include=\"Bitmaps\\Switch.bmp\" />\n    <EmbeddedResource Include=\"Bitmaps\\TabControl.bmp\" />\n    <EmbeddedResource Include=\"Bitmaps\\TextBox.bmp\" />\n    <EmbeddedResource Include=\"Bitmaps\\ToolTip.bmp\" />\n</ItemGroup>\n\n</Project>"
  },
  {
    "path": "MetroSet UI/Native/User32.cs",
    "content": "﻿/*\n * MetroSet UI - MetroSet UI Framework\n * \n * The MIT License (MIT)\n * Copyright (c) 2017 Narwin, https://github.com/N-a-r-w-i-n\n * \n * Permission is hereby granted, free of charge, to any person obtaining a copy of \n * this software and associated documentation files (the \"Software\"), to deal in the \n * Software without restriction, including without limitation the rights to use, copy, \n * modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, \n * and to permit persons to whom the Software is furnished to do so, subject to the \n * following conditions:\n * \n * The above copyright notice and this permission notice shall be included in \n * all copies or substantial portions of the Software.\n * \n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, \n * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A \n * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT \n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF \n * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE \n * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nusing System;\nusing System.Drawing;\nusing System.Runtime.InteropServices;\n\nnamespace MetroSet_UI.Native\n{\n    internal class User32\n    {\n\n        #region Properties\n\n        public AnimateWindowFlags AW_HIDE { get; internal set; }\n\n        #endregion\n\n        #region Structure\n\n        [StructLayout(LayoutKind.Sequential)]\n        public struct TCHITTESTINFO\n        {\n\t        private readonly Point _point;\n\t        public readonly TabControlHitTest flags;\n\n            private TCHITTESTINFO(TabControlHitTest hitTest)\n                : this()\n            {\n                flags = hitTest;\n            }\n\n\t\t\tpublic TCHITTESTINFO(Point point, TabControlHitTest hitTest)\n\t\t\t\t: this(hitTest)\n\t\t\t{\n\t\t\t\t_point = point;\n\t\t\t}\n\n\t\t\tpublic TCHITTESTINFO(int x, int y, TabControlHitTest hitTest)\n                : this(hitTest)\n            {\n\t            Point pt = new Point(x, y);\n            }\n        }\n\n        #endregion\n\n        #region Flags\n\n        public const int WM_SETCURSOR = 0x0020;\n        public const int IDC_HAND = 32649;\n\n        public enum AnimateWindowFlags : uint\n        {\n            AW_HOR_POSITIVE = 0x00000001,\n            AW_HOR_NEGATIVE = 0x00000002,\n            AW_VER_POSITIVE = 0x00000004,\n            AW_VER_NEGATIVE = 0x00000008,\n            AW_CENTER = 0x00000010,\n            AW_HIDE = 0x00010000,\n            AW_ACTIVATE = 0x00020000,\n            AW_SLIDE = 0x00040000,\n            AW_BLEND = 0x00080000\n        }\n\n        [Flags]\n        public enum TabControlHitTest\n        {\n            /// <summary>\n            /// The position is not over a tab.\n            /// </summary>\n            TCHT_NOWHERE = 1,\n\n            /// <summary>\n            /// The position is over a tab's icon.\n            /// </summary>\n            TCHT_ONITEMICON = 2,\n\n            /// <summary>\n            /// The position is over a tab's text.\n            /// </summary>\n            TCHT_ONITEMLABEL = 4,\n\n            /// <summary>\n            /// The position is over a tab but not over its icon or its text. For owner-drawn tab controls, this value is specified if the position is anywhere over a tab.\n            /// TCHT_ONITEM is a bitwise-OR operation on TCHT_ONITEMICON and TCHT_ONITEMLABEL.\n            /// </summary>\n            TCHT_ONITEM = TCHT_ONITEMICON | TCHT_ONITEMLABEL\n        };\n\n        #endregion\n\n        #region Methods\n\n        [DllImport(\"user32\")]\n        public static extern bool AnimateWindow(IntPtr hwnd, int time, AnimateWindowFlags flags);\n\n        internal void AnimateWindow(IntPtr handle, int v, object p)\n        {\n            throw new NotImplementedException();\n        }\n\n        [DllImport(\"user32.dll\", CharSet = CharSet.Auto)]\n        public static extern IntPtr SendMessage(IntPtr hWnd, int Msg, int wParam, string lParam);\n\n        [DllImport(\"user32.dll\", CharSet = CharSet.Auto, SetLastError = true)]\n        public static extern IntPtr LoadCursor(IntPtr hInstance, int lpCursorName);\n\n        [DllImport(\"user32.dll\", CharSet = CharSet.Auto)]\n        public static extern IntPtr SetCursor(IntPtr hCursor);\n\n        #endregion\n\n        #region Symbolic Constants\n\n        public const byte _AC_SRC_OVER = 0x00;\n        public const byte _AC_SRC_ALPHA = 0x01;\n        public const int _LWA_ALPHA = 0x00000002;\n        public const int _PAT_INVERT = 0x5A0049;\n        public const int _HT_CAPTION = 0x2;\n        public const int _HT_TRANSPARENT = -1;\n        public const int _TCM_HITTEST = 0x130D;\n        public const int _WM_NCHITTEST = 0x0084;\n        public const int _HTCLIENT = 0x01;\n        public const int _HTCAPTION = 0x02;\n        public const int _SRC_COPY = 0xCC0020;\n        public const int _CS_DROPSHADOW = 0x20000;\n        public const int _TCM_ADJUSTRECT = 0x1328;\n        public const int _TCN_FIRST = -550;\n        public const int _TCN_SELCHANGE = -551;\n        public const int _TCN_SELCHANGING = -552;\n\n        #endregion\n\n        #region Windows Messages\n\n        /// <summary>\n        /// Specifies values from Msgs enumeration.\n        /// </summary>\n        internal enum Msgs\n        {\n            /// <summary>\n            /// Specified WM_NULL enumeration value.\n            /// </summary>\n            WM_NULL = 0x0000,\n\n            /// <summary>\n            /// Specified WM_CREATE enumeration value.\n            /// </summary>\n            WM_CREATE = 0x0001,\n\n            /// <summary>\n            /// Specified WM_DESTROY enumeration value.\n            /// </summary>\n            WM_DESTROY = 0x0002,\n\n            /// <summary>\n            /// Specified WM_MOVE enumeration value.\n            /// </summary>\n            WM_MOVE = 0x0003,\n\n            /// <summary>\n            /// Specified WM_SIZE enumeration value.\n            /// </summary>\n            WM_SIZE = 0x0005,\n\n            /// <summary>\n            /// Specified WM_ACTIVATE enumeration value.\n            /// </summary>\n            WM_ACTIVATE = 0x0006,\n\n            /// <summary>\n            /// Specified WM_SETFOCUS enumeration value.\n            /// </summary>\n            WM_SETFOCUS = 0x0007,\n\n            /// <summary>\n            /// Specified WM_KILLFOCUS enumeration value.\n            /// </summary>\n            WM_KILLFOCUS = 0x0008,\n\n            /// <summary>\n            /// Specified WM_ENABLE enumeration value.\n            /// </summary>\n            WM_ENABLE = 0x000A,\n\n            /// <summary>\n            /// Specified WM_SETREDRAW enumeration value.\n            /// </summary>\n            WM_SETREDRAW = 0x000B,\n\n            /// <summary>\n            /// Specified WM_SETTEXT enumeration value.\n            /// </summary>\n            WM_SETTEXT = 0x000C,\n\n            /// <summary>\n            /// Specified WM_GETTEXT enumeration value.\n            /// </summary>\n            WM_GETTEXT = 0x000D,\n\n            /// <summary>\n            /// Specified WM_GETTEXTLENGTH enumeration value.\n            /// </summary>\n            WM_GETTEXTLENGTH = 0x000E,\n\n            /// <summary>\n            /// Specified WM_PAINT enumeration value.\n            /// </summary>\n            WM_PAINT = 0x000F,\n\n            /// <summary>\n            /// Specified WM_CLOSE enumeration value.\n            /// </summary>\n            WM_CLOSE = 0x0010,\n\n            /// <summary>\n            /// Specified WM_QUERYENDSESSION enumeration value.\n            /// </summary>\n            WM_QUERYENDSESSION = 0x0011,\n\n            /// <summary>\n            /// Specified WM_QUIT enumeration value.\n            /// </summary>\n            WM_QUIT = 0x0012,\n\n            /// <summary>\n            /// Specified WM_QUERYOPEN enumeration value.\n            /// </summary>\n            WM_QUERYOPEN = 0x0013,\n\n            /// <summary>\n            /// Specified WM_ERASEBKGND enumeration value.\n            /// </summary>\n            WM_ERASEBKGND = 0x0014,\n\n            /// <summary>\n            /// Specified WM_SYSCOLORCHANGE enumeration value.\n            /// </summary>\n            WM_SYSCOLORCHANGE = 0x0015,\n\n            /// <summary>\n            /// Specified WM_ENDSESSION enumeration value.\n            /// </summary>\n            WM_ENDSESSION = 0x0016,\n\n            /// <summary>\n            /// Specified WM_SHOWWINDOW enumeration value.\n            /// </summary>\n            WM_SHOWWINDOW = 0x0018,\n\n            /// <summary>\n            /// Specified WM_WININICHANGE enumeration value.\n            /// </summary>\n            WM_WININICHANGE = 0x001A,\n\n            /// <summary>\n            /// Specified WM_SETTINGCHANGE enumeration value.\n            /// </summary>\n            WM_SETTINGCHANGE = 0x001A,\n\n            /// <summary>\n            /// Specified WM_DEVMODECHANGE enumeration value.\n            /// </summary>\n            WM_DEVMODECHANGE = 0x001B,\n\n            /// <summary>\n            /// Specified WM_ACTIVATEAPP enumeration value.\n            /// </summary>\n            WM_ACTIVATEAPP = 0x001C,\n\n            /// <summary>\n            /// Specified WM_FONTCHANGE enumeration value.\n            /// </summary>\n            WM_FONTCHANGE = 0x001D,\n\n            /// <summary>\n            /// Specified WM_TIMECHANGE enumeration value.\n            /// </summary>\n            WM_TIMECHANGE = 0x001E,\n\n            /// <summary>\n            /// Specified WM_CANCELMODE enumeration value.\n            /// </summary>\n            WM_CANCELMODE = 0x001F,\n\n            /// <summary>\n            /// Specified WM_SETCURSOR enumeration value.\n            /// </summary>\n            WM_SETCURSOR = 0x0020,\n\n            /// <summary>\n            /// Specified WM_MOUSEACTIVATE enumeration value.\n            /// </summary>\n            WM_MOUSEACTIVATE = 0x0021,\n\n            /// <summary>\n            /// Specified WM_CHILDACTIVATE enumeration value.\n            /// </summary>\n            WM_CHILDACTIVATE = 0x0022,\n\n            /// <summary>\n            /// Specified WM_QUEUESYNC enumeration value.\n            /// </summary>\n            WM_QUEUESYNC = 0x0023,\n\n            /// <summary>\n            /// Specified WM_GETMINMAXINFO enumeration value.\n            /// </summary>\n            WM_GETMINMAXINFO = 0x0024,\n\n            /// <summary>\n            /// Specified WM_PAINTICON enumeration value.\n            /// </summary>\n            WM_PAINTICON = 0x0026,\n\n            /// <summary>\n            /// Specified WM_ICONERASEBKGND enumeration value.\n            /// </summary>\n            WM_ICONERASEBKGND = 0x0027,\n\n            /// <summary>\n            /// Specified WM_NEXTDLGCTL enumeration value.\n            /// </summary>\n            WM_NEXTDLGCTL = 0x0028,\n\n            /// <summary>\n            /// Specified WM_SPOOLERSTATUS enumeration value.\n            /// </summary>\n            WM_SPOOLERSTATUS = 0x002A,\n\n            /// <summary>\n            /// Specified WM_DRAWITEM enumeration value.\n            /// </summary>\n            WM_DRAWITEM = 0x002B,\n\n            /// <summary>\n            /// Specified WM_MEASUREITEM enumeration value.\n            /// </summary>\n            WM_MEASUREITEM = 0x002C,\n\n            /// <summary>\n            /// Specified WM_DELETEITEM enumeration value.\n            /// </summary>\n            WM_DELETEITEM = 0x002D,\n\n            /// <summary>\n            /// Specified WM_VKEYTOITEM enumeration value.\n            /// </summary>\n            WM_VKEYTOITEM = 0x002E,\n\n            /// <summary>\n            /// Specified WM_CHARTOITEM enumeration value.\n            /// </summary>\n            WM_CHARTOITEM = 0x002F,\n\n            /// <summary>\n            /// Specified WM_SETFONT enumeration value.\n            /// </summary>\n            WM_SETFONT = 0x0030,\n\n            /// <summary>\n            /// Specified WM_GETFONT enumeration value.\n            /// </summary>\n            WM_GETFONT = 0x0031,\n\n            /// <summary>\n            /// Specified WM_SETHOTKEY enumeration value.\n            /// </summary>\n            WM_SETHOTKEY = 0x0032,\n\n            /// <summary>\n            /// Specified WM_GETHOTKEY enumeration value.\n            /// </summary>\n            WM_GETHOTKEY = 0x0033,\n\n            /// <summary>\n            /// Specified WM_QUERYDRAGICON enumeration value.\n            /// </summary>\n            WM_QUERYDRAGICON = 0x0037,\n\n            /// <summary>\n            /// Specified WM_COMPAREITEM enumeration value.\n            /// </summary>\n            WM_COMPAREITEM = 0x0039,\n\n            /// <summary>\n            /// Specified WM_GETOBJECT enumeration value.\n            /// </summary>\n            WM_GETOBJECT = 0x003D,\n\n            /// <summary>\n            /// Specified WM_COMPACTING enumeration value.\n            /// </summary>\n            WM_COMPACTING = 0x0041,\n\n            /// <summary>\n            /// Specified WM_COMMNOTIFY enumeration value.\n            /// </summary>\n            WM_COMMNOTIFY = 0x0044,\n\n            /// <summary>\n            /// Specified WM_WINDOWPOSCHANGING enumeration value.\n            /// </summary>\n            WM_WINDOWPOSCHANGING = 0x0046,\n\n            /// <summary>\n            /// Specified WM_WINDOWPOSCHANGED enumeration value.\n            /// </summary>\n            WM_WINDOWPOSCHANGED = 0x0047,\n\n            /// <summary>\n            /// Specified WM_POWER enumeration value.\n            /// </summary>\n            WM_POWER = 0x0048,\n\n            /// <summary>\n            /// Specified WM_COPYDATA enumeration value.\n            /// </summary>\n            WM_COPYDATA = 0x004A,\n\n            /// <summary>\n            /// Specified WM_CANCELJOURNAL enumeration value.\n            /// </summary>\n            WM_CANCELJOURNAL = 0x004B,\n\n            /// <summary>\n            /// Specified WM_NOTIFY enumeration value.\n            /// </summary>\n            WM_NOTIFY = 0x004E,\n\n            /// <summary>\n            /// Specified WM_INPUTLANGCHANGEREQUEST enumeration value.\n            /// </summary>\n            WM_INPUTLANGCHANGEREQUEST = 0x0050,\n\n            /// <summary>\n            /// Specified WM_INPUTLANGCHANGE enumeration value.\n            /// </summary>\n            WM_INPUTLANGCHANGE = 0x0051,\n\n            /// <summary>\n            /// Specified WM_TCARD enumeration value.\n            /// </summary>\n            WM_TCARD = 0x0052,\n\n            /// <summary>\n            /// Specified WM_HELP enumeration value.\n            /// </summary>\n            WM_HELP = 0x0053,\n\n            /// <summary>\n            /// Specified WM_USERCHANGED enumeration value.\n            /// </summary>\n            WM_USERCHANGED = 0x0054,\n\n            /// <summary>\n            /// Specified WM_NOTIFYFORMAT enumeration value.\n            /// </summary>\n            WM_NOTIFYFORMAT = 0x0055,\n\n            /// <summary>\n            /// Specified WM_CONTEXTMENU enumeration value.\n            /// </summary>\n            WM_CONTEXTMENU = 0x007B,\n\n            /// <summary>\n            /// Specified WM_STYLECHANGING enumeration value.\n            /// </summary>\n            WM_STYLECHANGING = 0x007C,\n\n            /// <summary>\n            /// Specified WM_STYLECHANGED enumeration value.\n            /// </summary>\n            WM_STYLECHANGED = 0x007D,\n\n            /// <summary>\n            /// Specified WM_DISPLAYCHANGE enumeration value.\n            /// </summary>\n            WM_DISPLAYCHANGE = 0x007E,\n\n            /// <summary>\n            /// Specified WM_GETICON enumeration value.\n            /// </summary>\n            WM_GETICON = 0x007F,\n\n            /// <summary>\n            /// Specified WM_SETICON enumeration value.\n            /// </summary>\n            WM_SETICON = 0x0080,\n\n            /// <summary>\n            /// Specified WM_NCCREATE enumeration value.\n            /// </summary>\n            WM_NCCREATE = 0x0081,\n\n            /// <summary>\n            /// Specified VK_RMENU enumeration value.\n            /// </summary>\n            WM_NCDESTROY = 0x0082,\n\n            /// <summary>\n            /// Specified WM_NCCALCSIZE enumeration value.\n            /// </summary>\n            WM_NCCALCSIZE = 0x0083,\n\n            /// <summary>\n            /// Specified WM_NCHITTEST enumeration value.\n            /// </summary>\n            WM_NCHITTEST = 0x0084,\n\n            /// <summary>\n            /// Specified WM_NCPAINT enumeration value.\n            /// </summary>\n            WM_NCPAINT = 0x0085,\n\n            /// <summary>\n            /// Specified WM_NCACTIVATE enumeration value.\n            /// </summary>\n            WM_NCACTIVATE = 0x0086,\n\n            /// <summary>\n            /// Specified WM_GETDLGCODE enumeration value.\n            /// </summary>\n            WM_GETDLGCODE = 0x0087,\n\n            /// <summary>\n            /// Specified WM_SYNCPAINT enumeration value.\n            /// </summary>\n            WM_SYNCPAINT = 0x0088,\n\n            /// <summary>\n            /// Specified WM_NCMOUSEMOVE enumeration value.\n            /// </summary>\n            WM_NCMOUSEMOVE = 0x00A0,\n\n            /// <summary>\n            /// Specified WM_NCLBUTTONDOWN enumeration value.\n            /// </summary>\n            WM_NCLBUTTONDOWN = 0x00A1,\n\n            /// <summary>\n            /// Specified WM_NCLBUTTONUP enumeration value.\n            /// </summary>\n            WM_NCLBUTTONUP = 0x00A2,\n\n            /// <summary>\n            /// Specified WM_NCLBUTTONDBLCLK enumeration value.\n            /// </summary>\n            WM_NCLBUTTONDBLCLK = 0x00A3,\n\n            /// <summary>\n            /// Specified WM_NCRBUTTONDOWN enumeration value.\n            /// </summary>\n            WM_NCRBUTTONDOWN = 0x00A4,\n\n            /// <summary>\n            /// Specified WM_NCRBUTTONUP enumeration value.\n            /// </summary>\n            WM_NCRBUTTONUP = 0x00A5,\n\n            /// <summary>\n            /// Specified WM_NCRBUTTONDBLCLK enumeration value.\n            /// </summary>\n            WM_NCRBUTTONDBLCLK = 0x00A6,\n\n            /// <summary>\n            /// Specified WM_NCMBUTTONDOWN enumeration value.\n            /// </summary>\n            WM_NCMBUTTONDOWN = 0x00A7,\n\n            /// <summary>\n            /// Specified WM_NCMBUTTONUP enumeration value.\n            /// </summary>\n            WM_NCMBUTTONUP = 0x00A8,\n\n            /// <summary>\n            /// Specified WM_NCMBUTTONDBLCLK enumeration value.\n            /// </summary>\n            WM_NCMBUTTONDBLCLK = 0x00A9,\n\n            /// <summary>\n            /// Specified WM_NCXBUTTONDOWN enumeration value.\n            /// </summary>\n            WM_NCXBUTTONDOWN = 0x00AB,\n\n            /// <summary>\n            /// Specified WM_NCXBUTTONUP enumeration value.\n            /// </summary>\n            WM_NCXBUTTONUP = 0x00AC,\n\n            /// <summary>\n            /// Specified WM_KEYDOWN enumeration value.\n            /// </summary>\n            WM_KEYDOWN = 0x0100,\n\n            /// <summary>\n            /// Specified WM_KEYUP enumeration value.\n            /// </summary>\n            WM_KEYUP = 0x0101,\n\n            /// <summary>\n            /// Specified WM_CHAR enumeration value.\n            /// </summary>\n            WM_CHAR = 0x0102,\n\n            /// <summary>\n            /// Specified WM_DEADCHAR enumeration value.\n            /// </summary>\n            WM_DEADCHAR = 0x0103,\n\n            /// <summary>\n            /// Specified WM_SYSKEYDOWN enumeration value.\n            /// </summary>\n            WM_SYSKEYDOWN = 0x0104,\n\n            /// <summary>\n            /// Specified WM_SYSKEYUP enumeration value.\n            /// </summary>\n            WM_SYSKEYUP = 0x0105,\n\n            /// <summary>\n            /// Specified WM_SYSCHAR enumeration value.\n            /// </summary>\n            WM_SYSCHAR = 0x0106,\n\n            /// <summary>\n            /// Specified WM_SYSDEADCHAR enumeration value.\n            /// </summary>\n            WM_SYSDEADCHAR = 0x0107,\n\n            /// <summary>\n            /// Specified WM_KEYLAST enumeration value.\n            /// </summary>\n            WM_KEYLAST = 0x0108,\n\n            /// <summary>\n            /// Specified WM_IME_STARTCOMPOSITION enumeration value.\n            /// </summary>\n            WM_IME_STARTCOMPOSITION = 0x010D,\n\n            /// <summary>\n            /// Specified WM_IME_ENDCOMPOSITION enumeration value.\n            /// </summary>\n            WM_IME_ENDCOMPOSITION = 0x010E,\n\n            /// <summary>\n            /// Specified WM_IME_COMPOSITION enumeration value.\n            /// </summary>\n            WM_IME_COMPOSITION = 0x010F,\n\n            /// <summary>\n            /// Specified WM_IME_KEYLAST enumeration value.\n            /// </summary>\n            WM_IME_KEYLAST = 0x010F,\n\n            /// <summary>\n            /// Specified WM_INITDIALOG enumeration value.\n            /// </summary>\n            WM_INITDIALOG = 0x0110,\n\n            /// <summary>\n            /// Specified WM_COMMAND enumeration value.\n            /// </summary>\n            WM_COMMAND = 0x0111,\n\n            /// <summary>\n            /// Specified WM_SYSCOMMAND enumeration value.\n            /// </summary>\n            WM_SYSCOMMAND = 0x0112,\n\n            /// <summary>\n            /// Specified WM_TIMER enumeration value.\n            /// </summary>\n            WM_TIMER = 0x0113,\n\n            /// <summary>\n            /// Specified WM_HSCROLL enumeration value.\n            /// </summary>\n            WM_HSCROLL = 0x0114,\n\n            /// <summary>\n            /// Specified WM_VSCROLL enumeration value.\n            /// </summary>\n            WM_VSCROLL = 0x0115,\n\n            /// <summary>\n            /// Specified WM_INITMENU enumeration value.\n            /// </summary>\n            WM_INITMENU = 0x0116,\n\n            /// <summary>\n            /// Specified WM_INITMENUPOPUP enumeration value.\n            /// </summary>\n            WM_INITMENUPOPUP = 0x0117,\n\n            /// <summary>\n            /// Specified WM_MENUSELECT enumeration value.\n            /// </summary>\n            WM_MENUSELECT = 0x011F,\n\n            /// <summary>\n            /// Specified WM_MENUCHAR enumeration value.\n            /// </summary>\n            WM_MENUCHAR = 0x0120,\n\n            /// <summary>\n            /// Specified WM_ENTERIDLE enumeration value.\n            /// </summary>\n            WM_ENTERIDLE = 0x0121,\n\n            /// <summary>\n            /// Specified WM_MENURBUTTONUP enumeration value.\n            /// </summary>\n            WM_MENURBUTTONUP = 0x0122,\n\n            /// <summary>\n            /// Specified WM_MENUDRAG enumeration value.\n            /// </summary>\n            WM_MENUDRAG = 0x0123,\n\n            /// <summary>\n            /// Specified WM_MENUGETOBJECT enumeration value.\n            /// </summary>\n            WM_MENUGETOBJECT = 0x0124,\n\n            /// <summary>\n            /// Specified WM_UNINITMENUPOPUP enumeration value.\n            /// </summary>\n            WM_UNINITMENUPOPUP = 0x0125,\n\n            /// <summary>\n            /// Specified WM_MENUCOMMAND enumeration value.\n            /// </summary>\n            WM_MENUCOMMAND = 0x0126,\n\n            /// <summary>\n            /// Specified WM_CTLCOLORMSGBOX enumeration value.\n            /// </summary>\n            WM_CTLCOLORMSGBOX = 0x0132,\n\n            /// <summary>\n            /// Specified WM_CTLCOLOREDIT enumeration value.\n            /// </summary>\n            WM_CTLCOLOREDIT = 0x0133,\n\n            /// <summary>\n            /// Specified WM_CTLCOLORLISTBOX enumeration value.\n            /// </summary>\n            WM_CTLCOLORLISTBOX = 0x0134,\n\n            /// <summary>\n            /// Specified WM_CTLCOLORBTN enumeration value.\n            /// </summary>\n            WM_CTLCOLORBTN = 0x0135,\n\n            /// <summary>\n            /// Specified WM_CTLCOLORDLG enumeration value.\n            /// </summary>\n            WM_CTLCOLORDLG = 0x0136,\n\n            /// <summary>\n            /// Specified WM_CTLCOLORSCROLLBAR enumeration value.\n            /// </summary>\n            WM_CTLCOLORSCROLLBAR = 0x0137,\n\n            /// <summary>\n            /// Specified WM_CTLCOLORSTATIC enumeration value.\n            /// </summary>\n            WM_CTLCOLORSTATIC = 0x0138,\n\n            /// <summary>\n            /// Specified WM_MOUSEMOVE enumeration value.\n            /// </summary>\n            WM_MOUSEMOVE = 0x0200,\n\n            /// <summary>\n            /// Specified WM_LBUTTONDOWN enumeration value.\n            /// </summary>\n            WM_LBUTTONDOWN = 0x0201,\n\n            /// <summary>\n            /// Specified WM_LBUTTONUP enumeration value.\n            /// </summary>\n            WM_LBUTTONUP = 0x0202,\n\n            /// <summary>\n            /// Specified WM_LBUTTONDBLCLK enumeration value.\n            /// </summary>\n            WM_LBUTTONDBLCLK = 0x0203,\n\n            /// <summary>\n            /// Specified WM_RBUTTONDOWN enumeration value.\n            /// </summary>\n            WM_RBUTTONDOWN = 0x0204,\n\n            /// <summary>\n            /// Specified WM_RBUTTONUP enumeration value.\n            /// </summary>\n            WM_RBUTTONUP = 0x0205,\n\n            /// <summary>\n            /// Specified WM_RBUTTONDBLCLK enumeration value.\n            /// </summary>\n            WM_RBUTTONDBLCLK = 0x0206,\n\n            /// <summary>\n            /// Specified WM_MBUTTONDOWN enumeration value.\n            /// </summary>\n            WM_MBUTTONDOWN = 0x0207,\n\n            /// <summary>\n            /// Specified WM_MBUTTONUP enumeration value.\n            /// </summary>\n            WM_MBUTTONUP = 0x0208,\n\n            /// <summary>\n            /// Specified WM_MBUTTONDBLCLK enumeration value.\n            /// </summary>\n            WM_MBUTTONDBLCLK = 0x0209,\n\n            /// <summary>\n            /// Specified WM_MOUSEWHEEL enumeration value.\n            /// </summary>\n            WM_MOUSEWHEEL = 0x020A,\n\n            /// <summary>\n            /// Specified WM_XBUTTONDOWN enumeration value.\n            /// </summary>\n            WM_XBUTTONDOWN = 0x020B,\n\n            /// <summary>\n            /// Specified WM_XBUTTONUP enumeration value.\n            /// </summary>\n            WM_XBUTTONUP = 0x020C,\n\n            /// <summary>\n            /// Specified WM_XBUTTONDBLCLK enumeration value.\n            /// </summary>\n            WM_XBUTTONDBLCLK = 0x020D,\n\n            /// <summary>\n            /// Specified WM_PARENTNOTIFY enumeration value.\n            /// </summary>\n            WM_PARENTNOTIFY = 0x0210,\n\n            /// <summary>\n            /// Specified WM_ENTERMENULOOP enumeration value.\n            /// </summary>\n            WM_ENTERMENULOOP = 0x0211,\n\n            /// <summary>\n            /// Specified WM_EXITMENULOOP enumeration value.\n            /// </summary>\n            WM_EXITMENULOOP = 0x0212,\n\n            /// <summary>\n            /// Specified WM_NEXTMENU enumeration value.\n            /// </summary>\n            WM_NEXTMENU = 0x0213,\n\n            /// <summary>\n            /// Specified WM_SIZING enumeration value.\n            /// </summary>\n            WM_SIZING = 0x0214,\n\n            /// <summary>\n            /// Specified WM_CAPTURECHANGED enumeration value.\n            /// </summary>\n            WM_CAPTURECHANGED = 0x0215,\n\n            /// <summary>\n            /// Specified WM_MOVING enumeration value.\n            /// </summary>\n            WM_MOVING = 0x0216,\n\n            /// <summary>\n            /// Specified WM_DEVICECHANGE enumeration value.\n            /// </summary>\n            WM_DEVICECHANGE = 0x0219,\n\n            /// <summary>\n            /// Specified WM_MDICREATE enumeration value.\n            /// </summary>\n            WM_MDICREATE = 0x0220,\n\n            /// <summary>\n            /// Specified WM_MDIDESTROY enumeration value.\n            /// </summary>\n            WM_MDIDESTROY = 0x0221,\n\n            /// <summary>\n            /// Specified WM_MDIACTIVATE enumeration value.\n            /// </summary>\n            WM_MDIACTIVATE = 0x0222,\n\n            /// <summary>\n            /// Specified WM_MDIRESTORE enumeration value.\n            /// </summary>\n            WM_MDIRESTORE = 0x0223,\n\n            /// <summary>\n            /// Specified WM_MDINEXT enumeration value.\n            /// </summary>\n            WM_MDINEXT = 0x0224,\n\n            /// <summary>\n            /// Specified WM_MDIMAXIMIZE enumeration value.\n            /// </summary>\n            WM_MDIMAXIMIZE = 0x0225,\n\n            /// <summary>\n            /// Specified WM_MDITILE enumeration value.\n            /// </summary>\n            WM_MDITILE = 0x0226,\n\n            /// <summary>\n            /// Specified WM_MDICASCADE enumeration value.\n            /// </summary>\n            WM_MDICASCADE = 0x0227,\n\n            /// <summary>\n            /// Specified WM_MDIICONARRANGE enumeration value.\n            /// </summary>\n            WM_MDIICONARRANGE = 0x0228,\n\n            /// <summary>\n            /// Specified WM_MDIGETACTIVE enumeration value.\n            /// </summary>\n            WM_MDIGETACTIVE = 0x0229,\n\n            /// <summary>\n            /// Specified WM_MDISETMENU enumeration value.\n            /// </summary>\n            WM_MDISETMENU = 0x0230,\n\n            /// <summary>\n            /// Specified WM_ENTERSIZEMOVE enumeration value.\n            /// </summary>\n            WM_ENTERSIZEMOVE = 0x0231,\n\n            /// <summary>\n            /// Specified WM_EXITSIZEMOVE enumeration value.\n            /// </summary>\n            WM_EXITSIZEMOVE = 0x0232,\n\n            /// <summary>\n            /// Specified WM_DROPFILES enumeration value.\n            /// </summary>\n            WM_DROPFILES = 0x0233,\n\n            /// <summary>\n            /// Specified WM_MDIREFRESHMENU enumeration value.\n            /// </summary>\n            WM_MDIREFRESHMENU = 0x0234,\n\n            /// <summary>\n            /// Specified WM_IME_SETCONTEXT enumeration value.\n            /// </summary>\n            WM_IME_SETCONTEXT = 0x0281,\n\n            /// <summary>\n            /// Specified WM_IME_NOTIFY enumeration value.\n            /// </summary>\n            WM_IME_NOTIFY = 0x0282,\n\n            /// <summary>\n            /// Specified WM_IME_CONTROL enumeration value.\n            /// </summary>\n            WM_IME_CONTROL = 0x0283,\n\n            /// <summary>\n            /// Specified WM_IME_COMPOSITIONFULL enumeration value.\n            /// </summary>\n            WM_IME_COMPOSITIONFULL = 0x0284,\n\n            /// <summary>\n            /// Specified WM_IME_SELECT enumeration value.\n            /// </summary>\n            WM_IME_SELECT = 0x0285,\n\n            /// <summary>\n            /// Specified WM_IME_CHAR enumeration value.\n            /// </summary>\n            WM_IME_CHAR = 0x0286,\n\n            /// <summary>\n            /// Specified WM_IME_REQUEST enumeration value.\n            /// </summary>\n            WM_IME_REQUEST = 0x0288,\n\n            /// <summary>\n            /// Specified WM_IME_KEYDOWN enumeration value.\n            /// </summary>\n            WM_IME_KEYDOWN = 0x0290,\n\n            /// <summary>\n            /// Specified WM_IME_KEYUP enumeration value.\n            /// </summary>\n            WM_IME_KEYUP = 0x0291,\n\n            /// <summary>\n            /// Specified WM_MOUSEHOVER enumeration value.\n            /// </summary>\n            WM_MOUSEHOVER = 0x02A1,\n            WM_MOUSELEAVE = 0x02A3,\n            WM_CUT = 0x0300,\n            WM_COPY = 0x0301,\n            WM_PASTE = 0x0302,\n            WM_CLEAR = 0x0303,\n\n            /// <summary>\n            /// Specified WM_UNDO enumeration value.\n            /// </summary>\n            WM_UNDO = 0x0304,\n\n            /// <summary>\n            /// Specified WM_RENDERFORMAT enumeration value.\n            /// </summary>\n            WM_RENDERFORMAT = 0x0305,\n\n            /// <summary>\n            /// Specified WM_RENDERALLFORMATS enumeration value.\n            /// </summary>\n            WM_RENDERALLFORMATS = 0x0306,\n\n            /// <summary>\n            /// Specified WM_DESTROYCLIPBOARD enumeration value.\n            /// </summary>\n            WM_DESTROYCLIPBOARD = 0x0307,\n\n            /// <summary>\n            /// Specified WM_DRAWCLIPBOARD enumeration value.\n            /// </summary>\n            WM_DRAWCLIPBOARD = 0x0308,\n\n            /// <summary>\n            /// Specified WM_PAINTCLIPBOARD enumeration value.\n            /// </summary>\n            WM_PAINTCLIPBOARD = 0x0309,\n\n            /// <summary>\n            /// Specified WM_VSCROLLCLIPBOARD enumeration value.\n            /// </summary>\n            WM_VSCROLLCLIPBOARD = 0x030A,\n\n            /// <summary>\n            /// Specified WM_SIZECLIPBOARD enumeration value.\n            /// </summary>\n            WM_SIZECLIPBOARD = 0x030B,\n\n            /// <summary>\n            /// Specified WM_ASKCBFORMATNAME enumeration value.\n            /// </summary>\n            WM_ASKCBFORMATNAME = 0x030C,\n\n            /// <summary>\n            /// Specified WM_CHANGECBCHAIN enumeration value.\n            /// </summary>\n            WM_CHANGECBCHAIN = 0x030D,\n\n            /// <summary>\n            /// Specified WM_HSCROLLCLIPBOARD enumeration value.\n            /// </summary>\n            WM_HSCROLLCLIPBOARD = 0x030E,\n\n            /// <summary>\n            /// Specified WM_QUERYNEWPALETTE enumeration value.\n            /// </summary>\n            WM_QUERYNEWPALETTE = 0x030F,\n\n            /// <summary>\n            /// Specified WM_PALETTEISCHANGING enumeration value.\n            /// </summary>\n            WM_PALETTEISCHANGING = 0x0310,\n\n            /// <summary>\n            /// Specified WM_PALETTECHANGED enumeration value.\n            /// </summary>\n            WM_PALETTECHANGED = 0x0311,\n\n            /// <summary>\n            /// Specified WM_HOTKEY enumeration value.\n            /// </summary>\n            WM_HOTKEY = 0x0312,\n\n            /// <summary>\n            /// Specified WM_PRINT enumeration value.\n            /// </summary>\n            WM_PRINT = 0x0317,\n\n            /// <summary>\n            /// Specified WM_PRINTCLIENT enumeration value.\n            /// </summary>\n            WM_PRINTCLIENT = 0x0318,\n\n            /// <summary>\n            /// Specified WM_HANDHELDFIRST enumeration value.\n            /// </summary>\n            WM_HANDHELDFIRST = 0x0358,\n\n            /// <summary>\n            /// Specified WM_HANDHELDLAST enumeration value.\n            /// </summary>\n            WM_HANDHELDLAST = 0x035F,\n\n            /// <summary>\n            /// Specified WM_AFXFIRST enumeration value.\n            /// </summary>\n            WM_AFXFIRST = 0x0360,\n\n            /// <summary>\n            /// Specified WM_AFXLAST enumeration value.\n            /// </summary>\n            WM_AFXLAST = 0x037F,\n\n            /// <summary>\n            /// Specified WM_PENWINFIRST enumeration value.\n            /// </summary>\n            WM_PENWINFIRST = 0x0380,\n\n            /// <summary>\n            /// Specified WM_PENWINLAST enumeration value.\n            /// </summary>\n            WM_PENWINLAST = 0x038F,\n\n            /// <summary>\n            /// Specified WM_APP enumeration value.\n            /// </summary>\n            WM_APP = 0x8000,\n\n            /// <summary>\n            /// Specified WM_USER enumeration value.\n            /// </summary>\n            WM_USER = 0x0400,\n\n            /// <summary>\n            /// Specified WM_REFLECT enumeration value.\n            /// </summary>\n            WM_REFLECT = WM_USER + 0x1C00,\n\n            /// <summary>\n            /// Specified WM_THEMECHANGED enumeration value.\n            /// </summary>\n            WM_THEMECHANGED = 0x031A,\n        };\n\n        #endregion\n\n    }\n\n}"
  },
  {
    "path": "MetroSet UI/Properties/AssemblyInfo.cs",
    "content": "﻿using System.Reflection;\nusing System.Runtime.InteropServices;\n\n// General Information about an assembly is controlled through the following \n// set of attributes. Change these attribute values to modify the information\n// associated with an assembly.\n[assembly: AssemblyTitle(\"MetroSet UI\")]\n[assembly: AssemblyDescription(\"The Windows Forms Metro Style Skin for .NET applications.\")]\n[assembly: AssemblyConfiguration(\"\")]\n[assembly: AssemblyCompany(\"Narwin\")]\n[assembly: AssemblyProduct(\"MetroSet UI\")]\n[assembly: AssemblyCopyright(\"Copyright © Narwin 2020\")]\n[assembly: AssemblyTrademark(\"\")]\n[assembly: AssemblyCulture(\"\")]\n\n// Setting ComVisible to false makes the types in this assembly not visible \n// to COM components.  If you need to access a type in this assembly from \n// COM, set the ComVisible attribute to true on that type.\n[assembly: ComVisible(false)]\n\n// The following GUID is for the ID of the typelib if this project is exposed to COM\n[assembly: Guid(\"246951dc-5e33-4a86-9498-a03f9d784efa\")]\n\n// Version information for an assembly consists of the following four values:\n//\n//      Major Version\n//      Minor Version \n//      Build Number\n//      Revision\n//\n// You can specify all the values or you can default the Build and Revision Numbers \n// by using the '*' as shown below:\n// [assembly: AssemblyVersion(\"1.0.*\")]\n[assembly: AssemblyVersion(\"2.0.0.0\")]\n[assembly: AssemblyFileVersion(\"2.0.0.0\")]\n"
  },
  {
    "path": "MetroSet UI/Properties/PublishProfiles/FolderProfile.pubxml",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!--\nhttps://go.microsoft.com/fwlink/?LinkID=208121. \n-->\n<Project ToolsVersion=\"4.0\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\n  <PropertyGroup>\n    <PublishProtocol>FileSystem</PublishProtocol>\n    <Configuration>Release</Configuration>\n    <Platform>Any CPU</Platform>\n    <TargetFramework>net45</TargetFramework>\n    <PublishDir>bin\\Release\\net45\\publish\\</PublishDir>\n  </PropertyGroup>\n</Project>"
  },
  {
    "path": "MetroSet UI/Properties/Resources.Designer.cs",
    "content": "﻿//------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Runtime Version:4.0.30319.42000\n//\n//     Changes to this file may cause incorrect behavior and will be lost if\n//     the code is regenerated.\n// </auto-generated>\n//------------------------------------------------------------------------------\n\nnamespace MetroSet_UI.Properties {\n    using System;\n    \n    \n    /// <summary>\n    ///   A strongly-typed resource class, for looking up localized strings, etc.\n    /// </summary>\n    // This class was auto-generated by the StronglyTypedResourceBuilder\n    // class via a tool like ResGen or Visual Studio.\n    // To add or remove a member, edit your .ResX file then rerun ResGen\n    // with the /str option, or rebuild your VS project.\n    [global::System.CodeDom.Compiler.GeneratedCodeAttribute(\"System.Resources.Tools.StronglyTypedResourceBuilder\", \"15.0.0.0\")]\n    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\n    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]\n    internal class Resources {\n        \n        private static global::System.Resources.ResourceManager resourceMan;\n        \n        private static global::System.Globalization.CultureInfo resourceCulture;\n        \n        [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute(\"Microsoft.Performance\", \"CA1811:AvoidUncalledPrivateCode\")]\n        internal Resources() {\n        }\n        \n        /// <summary>\n        ///   Returns the cached ResourceManager instance used by this class.\n        /// </summary>\n        [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]\n        internal static global::System.Resources.ResourceManager ResourceManager {\n            get {\n                if (object.ReferenceEquals(resourceMan, null)) {\n                    global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager(\"MetroSet_UI.Properties.Resources\", typeof(Resources).Assembly);\n                    resourceMan = temp;\n                }\n                return resourceMan;\n            }\n        }\n        \n        /// <summary>\n        ///   Overrides the current thread's CurrentUICulture property for all\n        ///   resource lookups using this strongly typed resource class.\n        /// </summary>\n        [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]\n        internal static global::System.Globalization.CultureInfo Culture {\n            get {\n                return resourceCulture;\n            }\n            set {\n                resourceCulture = value;\n            }\n        }\n        \n        /// <summary>\n        ///   Looks up a localized string similar to &lt;MetroSetTheme&gt;\n        ///  &lt;Theme&gt;\n        ///    &lt;Name&gt;DarkUI&lt;/Name&gt;\n        ///    &lt;Author&gt;Narwin&lt;/Author&gt;\n        ///  &lt;/Theme&gt;\n        ///  &lt;Form&gt;\n        ///    &lt;Enabled&gt;true&lt;/Enabled&gt;\n        ///    &lt;ForeColor&gt;#293955&lt;/ForeColor&gt;\n        ///    &lt;BackColor&gt;#1e1e1e&lt;/BackColor&gt;\n        ///    &lt;BorderColor&gt;#b72828&lt;/BorderColor&gt;\n        ///    &lt;SmallLineColor1&gt;#F11199&lt;/SmallLineColor1&gt;\n        ///    &lt;SmallLineColor2&gt;#EA5216&lt;/SmallLineColor2&gt;\n        ///    &lt;TextColor&gt;#ffffff&lt;/TextColor&gt;\n        ///    &lt;DrawLeftRect&gt;true&lt;/DrawLeftRect&gt;\n        ///    &lt;DisplayHeader&gt;true&lt;/DisplayHeader&gt;\n        ///    &lt;TextAlign&gt;left&lt;/TextAlign&gt;\t\n        ///    &lt;SmallRectThickne [rest of string was truncated]&quot;;.\n        /// </summary>\n        internal static string MetroSet_Theme {\n            get {\n                return ResourceManager.GetString(\"MetroSet_Theme\", resourceCulture);\n            }\n        }\n        \n        /// <summary>\n        ///   Looks up a localized resource of type System.Byte[].\n        /// </summary>\n        internal static byte[] SegoeWP {\n            get {\n                object obj = ResourceManager.GetObject(\"SegoeWP\", resourceCulture);\n                return ((byte[])(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   Looks up a localized resource of type System.Byte[].\n        /// </summary>\n        internal static byte[] SegoeWP_Bold {\n            get {\n                object obj = ResourceManager.GetObject(\"SegoeWP_Bold\", resourceCulture);\n                return ((byte[])(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   Looks up a localized resource of type System.Byte[].\n        /// </summary>\n        internal static byte[] SegoeWP_Light {\n            get {\n                object obj = ResourceManager.GetObject(\"SegoeWP_Light\", resourceCulture);\n                return ((byte[])(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   Looks up a localized resource of type System.Byte[].\n        /// </summary>\n        internal static byte[] SegoeWP_Semibold {\n            get {\n                object obj = ResourceManager.GetObject(\"SegoeWP_Semibold\", resourceCulture);\n                return ((byte[])(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   Looks up a localized resource of type System.Byte[].\n        /// </summary>\n        internal static byte[] SegoeWP_Semilight {\n            get {\n                object obj = ResourceManager.GetObject(\"SegoeWP_Semilight\", resourceCulture);\n                return ((byte[])(obj));\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "MetroSet UI/Properties/Resources.resx",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The primary goals of this format is to allow a simple XML format \n    that is mostly human readable. The generation and parsing of the \n    various data types are done through the TypeConverter classes \n    associated with the data types.\n    \n    Example:\n    \n    ... ado.net/XML headers & schema ...\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\n    <resheader name=\"version\">2.0</resheader>\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\n    </data>\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\n        <comment>This is a comment</comment>\n    </data>\n                \n    There are any number of \"resheader\" rows that contain simple \n    name/value pairs.\n    \n    Each data row contains a name, and value. The row also contains a \n    type or mimetype. Type corresponds to a .NET class that support \n    text/value conversion through the TypeConverter architecture. \n    Classes that don't support this are serialized and stored with the \n    mimetype set.\n    \n    The mimetype is used for serialized objects, and tells the \n    ResXResourceReader how to depersist the object. This is currently not \n    extensible. For a given mimetype the value must be set accordingly:\n    \n    Note - application/x-microsoft.net.object.binary.base64 is the format \n    that the ResXResourceWriter will generate, however the reader can \n    read any of the formats listed below.\n    \n    mimetype: application/x-microsoft.net.object.binary.base64\n    value   : The object must be serialized with \n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\n            : and then encoded with base64 encoding.\n    \n    mimetype: application/x-microsoft.net.object.soap.base64\n    value   : The object must be serialized with \n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\n            : and then encoded with base64 encoding.\n\n    mimetype: application/x-microsoft.net.object.bytearray.base64\n    value   : The object must be serialized into a byte array \n            : using a System.ComponentModel.TypeConverter\n            : and then encoded with base64 encoding.\n    -->\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\n      <xsd:complexType>\n        <xsd:choice maxOccurs=\"unbounded\">\n          <xsd:element name=\"metadata\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"assembly\">\n            <xsd:complexType>\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"data\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"resheader\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\n            </xsd:complexType>\n          </xsd:element>\n        </xsd:choice>\n      </xsd:complexType>\n    </xsd:element>\n  </xsd:schema>\n  <resheader name=\"resmimetype\">\n    <value>text/microsoft-resx</value>\n  </resheader>\n  <resheader name=\"version\">\n    <value>2.0</value>\n  </resheader>\n  <resheader name=\"reader\">\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n  <resheader name=\"writer\">\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n  <assembly alias=\"System.Windows.Forms\" name=\"System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\" />\n  <data name=\"MetroSet_Theme\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>..\\Resources\\MetroSet Theme.xml;System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8</value>\n  </data>\n  <data name=\"SegoeWP\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>..\\Resources\\SegoeWP.ttf;System.Byte[], mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </data>\n  <data name=\"SegoeWP_Bold\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>..\\Resources\\SegoeWP-Bold.ttf;System.Byte[], mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </data>\n  <data name=\"SegoeWP_Light\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>..\\Resources\\SegoeWP-Light.ttf;System.Byte[], mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </data>\n  <data name=\"SegoeWP_Semibold\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>..\\Resources\\SegoeWP-Semibold.ttf;System.Byte[], mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </data>\n  <data name=\"SegoeWP_Semilight\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>..\\Resources\\SegoeWP-Semilight.ttf;System.Byte[], mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </data>\n</root>"
  },
  {
    "path": "MetroSet UI/Properties/Settings.Designer.cs",
    "content": "﻿//------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Runtime Version:4.0.30319.42000\n//\n//     Changes to this file may cause incorrect behavior and will be lost if\n//     the code is regenerated.\n// </auto-generated>\n//------------------------------------------------------------------------------\n\nnamespace MetroSet_UI.Properties {\n    \n    \n    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]\n    [global::System.CodeDom.Compiler.GeneratedCodeAttribute(\"Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator\", \"16.4.0.0\")]\n    internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {\n        \n        private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));\n        \n        public static Settings Default {\n            get {\n                return defaultInstance;\n            }\n        }\n        \n        [global::System.Configuration.UserScopedSettingAttribute()]\n        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\n        [global::System.Configuration.DefaultSettingValueAttribute(\"\")]\n        public string ThemeFile {\n            get {\n                return ((string)(this[\"ThemeFile\"]));\n            }\n            set {\n                this[\"ThemeFile\"] = value;\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "MetroSet UI/Properties/Settings.settings",
    "content": "﻿<?xml version='1.0' encoding='utf-8'?>\n<SettingsFile xmlns=\"http://schemas.microsoft.com/VisualStudio/2004/01/settings\" CurrentProfile=\"(Default)\" GeneratedClassNamespace=\"MetroSet_UI.Properties\" GeneratedClassName=\"Settings\">\n  <Profiles />\n  <Settings>\n    <Setting Name=\"ThemeFile\" Type=\"System.String\" Scope=\"User\">\n      <Value Profile=\"(Default)\" />\n    </Setting>\n  </Settings>\n</SettingsFile>"
  },
  {
    "path": "MetroSet UI/Resources/MetroSet Theme.xml",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<MetroSetTheme>\n  <Theme>\n    <Name>Custom Theme</Name>\n    <Author>Narwin</Author>\n  </Theme>\n  <Form>\n    <ForeColor>#293955</ForeColor>\n    <BackColor>#FFFFFF</BackColor>\n    <BorderColor>#ffc40d</BorderColor>\n    <SmallLineColor1>#ffc40d</SmallLineColor1>\n    <SmallLineColor2>#ffc40d</SmallLineColor2>\n    <TextColor>#293955</TextColor>\n    <HeaderColor>#ffc40d</HeaderColor>\n  </Form>\n  <DefaultButton>\n    <NormalColor>#ffc40d</NormalColor>\n    <NormalBorderColor>#000000</NormalBorderColor>\n    <NormalTextColor>#FFFFFF</NormalTextColor>\n    <HoverColor>#293A56</HoverColor>\n    <HoverBorderColor>#2B2B2B</HoverBorderColor>\n    <HoverTextColor>#FFFFFF</HoverTextColor>\n    <PressColor>#D6DBE9</PressColor>\n    <PressBorderColor>#2B2B2B</PressBorderColor>\n    <PressTextColor>#FFFFFF</PressTextColor>\n    <DisabledBackColor>#EEEEEE</DisabledBackColor>\n    <DisabledBorderColor>#505050</DisabledBorderColor>\n    <DisabledForeColor>#6D6D6D</DisabledForeColor>\n  </DefaultButton>\n  <Button>\n    <NormalColor>#ffc40d</NormalColor>\n    <NormalBorderColor>#ffc40d</NormalBorderColor>\n    <NormalTextColor>#FFFFFF</NormalTextColor>\n    <HoverColor>#5FCFFF</HoverColor>\n    <HoverBorderColor>#5FCFFF</HoverBorderColor>\n    <HoverTextColor>#FFFFFF</HoverTextColor>\n    <PressColor>#2393C3</PressColor>\n    <PressBorderColor>#2393C3</PressBorderColor>\n    <PressTextColor>#FFFFFF</PressTextColor>\n    <DisabledBackColor>#FFE235</DisabledBackColor>\n    <DisabledBorderColor>#FFE235</DisabledBorderColor>\n    <DisabledForeColor>#808080</DisabledForeColor>\n  </Button>\n  <Tile>\n    <NormalColor>#ffc40d</NormalColor>\n    <NormalBorderColor>#ffc40d</NormalBorderColor>\n    <NormalTextColor>#FFFFFF</NormalTextColor>\n    <HoverColor>#293A56</HoverColor>\n    <HoverBorderColor>#2B2B2B</HoverBorderColor>\n    <HoverTextColor>#FFFFFF</HoverTextColor>\n    <PressColor>#D6DBE9</PressColor>\n    <PressBorderColor>#2B2B2B</PressBorderColor>\n    <PressTextColor>#FFFFFF</PressTextColor>\n    <DisabledBackColor>#EEEEEE</DisabledBackColor>\n    <DisabledBorderColor>#505050</DisabledBorderColor>\n    <DisabledForeColor>#6D6D6D</DisabledForeColor>\n  </Tile>\n  <Ellipse>\n    <NormalColor>#ffc40d</NormalColor>\n    <NormalBorderColor>#FFBA03</NormalBorderColor>\n    <NormalTextColor>#FFFFFF</NormalTextColor>\n    <HoverColor>#293A56</HoverColor>\n    <HoverBorderColor>#2B2B2B</HoverBorderColor>\n    <HoverTextColor>#FFFFFF</HoverTextColor>\n    <PressColor>#D6DBE9</PressColor>\n    <PressBorderColor>#2B2B2B</PressBorderColor>\n    <PressTextColor>#FFFFFF</PressTextColor>\n    <DisabledBackColor>#FFE235</DisabledBackColor>\n    <DisabledBorderColor>#FFE235</DisabledBorderColor>\n    <DisabledForeColor>#6D6D6D</DisabledForeColor>\n  </Ellipse>\n  <Badge>\n    <NormalColor>#ffc40d</NormalColor>\n    <NormalBorderColor>#000000</NormalBorderColor>\n    <NormalTextColor>#FFFFFF</NormalTextColor>\n    <HoverColor>#293A56</HoverColor>\n    <HoverBorderColor>#2B2B2B</HoverBorderColor>\n    <HoverTextColor>#FFFFFF</HoverTextColor>\n    <PressColor>#D6DBE9</PressColor>\n    <PressBorderColor>#2B2B2B</PressBorderColor>\n    <PressTextColor>#FFFFFF</PressTextColor>\n    <NormalBadgeColor>#ffc40d</NormalBadgeColor>\n    <NormalBadgeTextColor>#FFFFFF</NormalBadgeTextColor>\n    <HoverBadgeColor>#cb2828</HoverBadgeColor>\n    <HoverBadgeTextColor>#FFFFFF</HoverBadgeTextColor>\n    <PressBadgeColor>#a31414</PressBadgeColor>\n    <PressBadgeTextColor>#FFFFFF</PressBadgeTextColor>\n    <DisabledBackColor>#FFE235</DisabledBackColor>\n    <DisabledBorderColor>#FFE235</DisabledBorderColor>\n    <DisabledForeColor>#6D6D6D</DisabledForeColor>\n  </Badge>\n  <Label>\n    <ForeColor>#ffc40d</ForeColor>\n    <BackColor>#00FFFFFF</BackColor>\n  </Label>\n  <ComboBox>\n    <ForeColor>#CCCCCC</ForeColor>\n    <BackColor>#FFFFFF</BackColor>\n    <BorderColor>#6E6E6E</BorderColor>\n    <ArrowColor>#6E6E6E</ArrowColor>\n    <SelectedItemBackColor>#ffc40d</SelectedItemBackColor>\n    <SelectedItemForeColor>#FFFFFF</SelectedItemForeColor>\n    <DisabledBackColor>#EEEEEE</DisabledBackColor>\n    <DisabledBorderColor>#505050</DisabledBorderColor>\n    <DisabledForeColor>#6D6D6D</DisabledForeColor>\n  </ComboBox>\n  <TextBox>\n    <ForeColor>#CCCCCC</ForeColor>\n    <BackColor>#FFFFFF</BackColor>\n    <HoverColor>#ffc40d</HoverColor>\n    <BorderColor>#6E6E6E</BorderColor>\n    <WatermarkText>n</WatermarkText>\n    <DisabledBackColor>#EEEEEE</DisabledBackColor>\n    <DisabledBorderColor>#505050</DisabledBorderColor>\n    <DisabledForeColor>#6D6D6D</DisabledForeColor>\n  </TextBox>\n  <RichTextBox>\n    <ForeColor>#CCCCCC</ForeColor>\n    <BackColor>#FFFFFF</BackColor>\n    <HoverColor>#ffc40d</HoverColor>\n    <BorderColor>#6E6E6E</BorderColor>\n    <DisabledBackColor>#EEEEEE</DisabledBackColor>\n    <DisabledBorderColor>#505050</DisabledBorderColor>\n    <DisabledForeColor>#6D6D6D</DisabledForeColor>\n  </RichTextBox>\n  <Numeric>\n    <ForeColor>#CCCCCC</ForeColor>\n    <BackColor>#FFFFFF</BackColor>\n    <BorderColor>#6E6E6E</BorderColor>\n    <SymbolsColor>#ffc40d</SymbolsColor>\n    <DisabledBackColor>#EEEEEE</DisabledBackColor>\n    <DisabledBorderColor>#505050</DisabledBorderColor>\n    <DisabledForeColor>#6D6D6D</DisabledForeColor>\n  </Numeric>\n  <CheckBox>\n    <ForeColor>#ffc40d</ForeColor>\n    <CheckColor>#ffc40d</CheckColor>\n    <BackColor>#00FFFFFF</BackColor>\n    <BordeColor>#ffc40d</BordeColor>\n    <DisabledBorderColor>#999999</DisabledBorderColor>\n    <CheckedStyle>Shape</CheckedStyle>\n    <!--Sign, Shape-->\n  </CheckBox>\n  <SwitchBox>\n    <SymbolColor>#5C5C5C</SymbolColor>\n    <BackColor>#FFFFFF</BackColor>\n    <BorderColor>#9B9B9B</BorderColor>\n    <DisabledBorderColor>#555555</DisabledBorderColor>\n    <UnCheckColor>#9B9B9B</UnCheckColor>\n    <CheckColor>#ffc40d</CheckColor>\n    <DisabledUnCheckColor>#CDCDCD</DisabledUnCheckColor>\n    <DisabledCheckColor>#FFE235</DisabledCheckColor>\n  </SwitchBox>\n  <RadioButton>\n    <ForeColor>#ffc40d</ForeColor>\n    <CheckColor>#ffc40d</CheckColor>\n    <BackColor>#00FFFFFF</BackColor>\n    <BordeColor>#ffc40d</BordeColor>\n    <DisabledBorderColor>#999999</DisabledBorderColor>\n  </RadioButton>\n  <Divider>\n    <Orientation>Horizontal</Orientation>\n    <!--Horizontal, Vertical-->\n    <Thickness>1</Thickness>\n    <ForeColor>#ffc40d</ForeColor>\n  </Divider>\n  <LinkLabel>\n    <ForeColor>#ffc40d</ForeColor>\n    <BackColor>#00FFFFFF</BackColor>\n    <LinkColor>#41b1e1</LinkColor>\n    <ActiveLinkColor>#55c5f5</ActiveLinkColor>\n    <VisitedLinkColor>#2d9dcd</VisitedLinkColor>\n    <LinkBehavior>HoverUnderline</LinkBehavior>\n    <!--HoverUnderline, AlwaysUnderline, NeverUnderline, SystemDefault-->\n  </LinkLabel>\n  <ToolTip>\n    <ForeColor>#FFFFFF</ForeColor>\n    <BackColor>#FFFFFF</BackColor>\n    <BorderColor>#ffc40d</BorderColor>\n  </ToolTip>\n  <Progress>\n    <BackColor>#EEEEEE</BackColor>\n    <BorderColor>#EEEEEE</BorderColor>\n    <ProgressColor>#ffc40d</ProgressColor>\n    <DisabledBackColor>#EEEEEE</DisabledBackColor>\n    <DisabledBorderColor>#EEEEEE</DisabledBorderColor>\n    <DisabledProgressColor>#FFE235</DisabledProgressColor>\n  </Progress>\n  <TrackBar>\n    <BackColor>#EEEEEE</BackColor>\n    <HandlerColor>#8F8F8F</HandlerColor>\n    <ValueColor>#ffc40d</ValueColor>\n    <DisabledBackColor>#EEEEEE</DisabledBackColor>\n    <DisabledValueColor>#8F8F8F</DisabledValueColor>\n    <DisabledHandlerColor>#FFE235</DisabledHandlerColor>\n  </TrackBar>\n  <ContextMenu>\n    <BackColor>#FFFFFF</BackColor>\n    <ForeColor>#AAAAAA</ForeColor>\n    <ArrowColor>#808080</ArrowColor>\n    <SeparatorColor>#808080</SeparatorColor>\n    <SelectedItemColor>#FFFFFF</SelectedItemColor>\n    <SelectedItemBackColor>#ffc40d</SelectedItemBackColor>\n    <DisabledForeColor>#C0C0C0</DisabledForeColor>\n  </ContextMenu>\n  <TabControl>\n    <BackColor>#FFFFFF</BackColor>\n    <ForeColor>#ffc40d</ForeColor>\n    <UnselectedTextColor>#808080</UnselectedTextColor>\n    <SelectedTextColor>#FFFFFF</SelectedTextColor>\n  </TabControl>\n  <ScrollBar>\n    <BackColor>#FFFFFF</BackColor>\n    <ForeColor>#ffc40d</ForeColor>\n    <DisabledBackColor>#505050</DisabledBackColor>\n    <DisabledForeColor>#6D6D6D</DisabledForeColor>\n  </ScrollBar>\n  <ListBox>\n    <BackColor>#FFFFFF</BackColor>\n    <ForeColor>#808080</ForeColor>\n    <BorderColor>#404040</BorderColor>\n    <SelectedItemColor>#FFFFFF</SelectedItemColor>\n    <SelectedItemBackColor>#ffc40d</SelectedItemBackColor>\n    <HoveredItemColor>#000000</HoveredItemColor>\n    <HoveredItemBackColor>#FFE235</HoveredItemBackColor>\n    <DisabledBackColor>#505050</DisabledBackColor>\n    <DisabledForeColor>#6D6D6D</DisabledForeColor>\n  </ListBox>\n  <Panel>\n    <BackColor>#FFFFFF</BackColor>\n    <BorderColor>#6E6E6E</BorderColor>\n  </Panel>\n  <ControlBox>\n    <CloseHoverBackColor>#ffc40d</CloseHoverBackColor>\n    <CloseHoverForeColor>#FFFFFF</CloseHoverForeColor>\n    <CloseNormalForeColor>#808080</CloseNormalForeColor>\n    <MaximizeHoverBackColor>#EEEEEE</MaximizeHoverBackColor>\n    <MaximizeHoverForeColor>#808080</MaximizeHoverForeColor>\n    <MaximizeNormalForeColor>#808080</MaximizeNormalForeColor>\n    <MinimizeHoverBackColor>#EEEEEE</MinimizeHoverBackColor>\n    <MinimizeHoverForeColor>#808080</MinimizeHoverForeColor>\n    <MinimizeNormalForeColor>#808080</MinimizeNormalForeColor>\n  </ControlBox>\n</MetroSetTheme>\n"
  },
  {
    "path": "MetroSet UI Example/Form1.Designer.cs",
    "content": "﻿using MetroSet_UI.Components;\n\nnamespace MetroSet_UI_Example\n{\n\tpartial class Form1\n\t{\n\t\t/// <summary>\n\t\t/// Required designer variable.\n\t\t/// </summary>\n\t\tprivate System.ComponentModel.IContainer components = null;\n\n\t\t/// <summary>\n\t\t/// Clean up any resources being used.\n\t\t/// </summary>\n\t\t/// <param name=\"disposing\">true if managed resources should be disposed; otherwise, false.</param>\n\t\tprotected override void Dispose(bool disposing)\n\t\t{\n\t\t\tif (disposing && (components != null))\n\t\t\t{\n\t\t\t\tcomponents.Dispose();\n\t\t\t}\n\t\t\tbase.Dispose(disposing);\n\t\t}\n\n\t\t#region Windows Form Designer generated code\n\n\t\t/// <summary>\n\t\t/// Required method for Designer support - do not modify\n\t\t/// the contents of this method with the code editor.\n\t\t/// </summary>\n\t\tprivate void InitializeComponent()\n\t\t{\n\t\t\tSystem.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Form1));\n\t\t\tthis._metroSetTabControl1 = new MetroSet_UI.Controls.MetroSetTabControl();\n\t\t\tthis._metroSetSetTabPage2 = new MetroSet_UI.Child.MetroSetSetTabPage();\n\t\t\tthis._metroSetButton2 = new MetroSet_UI.Controls.MetroSetButton();\n\t\t\tthis.styleManager1 = new MetroSet_UI.Components.StyleManager();\n\t\t\tthis._metroSetButton1 = new MetroSet_UI.Controls.MetroSetButton();\n\t\t\tthis._metroSetEllipse3 = new MetroSet_UI.Controls.MetroSetEllipse();\n\t\t\tthis._metroSetEllipse2 = new MetroSet_UI.Controls.MetroSetEllipse();\n\t\t\tthis._metroSetEllipse1 = new MetroSet_UI.Controls.MetroSetEllipse();\n\t\t\tthis._metroSetBadge2 = new MetroSet_UI.Controls.MetroSetBadge();\n\t\t\tthis._metroSetBadge1 = new MetroSet_UI.Controls.MetroSetBadge();\n\t\t\tthis._metroSetLabel2 = new MetroSet_UI.Controls.MetroSetLabel();\n\t\t\tthis._metroSetLabel3 = new MetroSet_UI.Controls.MetroSetLabel();\n\t\t\tthis._metroSetLabel19 = new MetroSet_UI.Controls.MetroSetLabel();\n\t\t\tthis._metroSetLabel1 = new MetroSet_UI.Controls.MetroSetLabel();\n\t\t\tthis._metroSetDefaultButton2 = new MetroSet_UI.Controls.MetroSetDefaultButton();\n\t\t\tthis._metroSetDefaultButton1 = new MetroSet_UI.Controls.MetroSetDefaultButton();\n\t\t\tthis._metroSetSetTabPage1 = new MetroSet_UI.Child.MetroSetSetTabPage();\n\t\t\tthis._metroSetTile8 = new MetroSet_UI.Controls.MetroSetTile();\n\t\t\tthis._metroSetTile4 = new MetroSet_UI.Controls.MetroSetTile();\n\t\t\tthis._metroSetTile7 = new MetroSet_UI.Controls.MetroSetTile();\n\t\t\tthis._metroSetTile6 = new MetroSet_UI.Controls.MetroSetTile();\n\t\t\tthis._metroSetTile2 = new MetroSet_UI.Controls.MetroSetTile();\n\t\t\tthis._metroSetTile5 = new MetroSet_UI.Controls.MetroSetTile();\n\t\t\tthis._metroSetTile3 = new MetroSet_UI.Controls.MetroSetTile();\n\t\t\tthis._metroSetTile1 = new MetroSet_UI.Controls.MetroSetTile();\n\t\t\tthis._metroSetLabel4 = new MetroSet_UI.Controls.MetroSetLabel();\n\t\t\tthis._metroSetSetTabPage3 = new MetroSet_UI.Child.MetroSetSetTabPage();\n\t\t\tthis._metroSetListBox2 = new MetroSet_UI.Controls.MetroSetListBox();\n\t\t\tthis._metroSetComboBox2 = new MetroSet_UI.Controls.MetroSetComboBox();\n\t\t\tthis._metroSetComboBox1 = new MetroSet_UI.Controls.MetroSetComboBox();\n\t\t\tthis._metroSetNumeric3 = new MetroSet_UI.Controls.MetroSetNumeric();\n\t\t\tthis._metroSetNumeric2 = new MetroSet_UI.Controls.MetroSetNumeric();\n\t\t\tthis._metroSetRichTextBox1 = new MetroSet_UI.Controls.MetroSetRichTextBox();\n\t\t\tthis._metroSetTextBox3 = new MetroSet_UI.Controls.MetroSetTextBox();\n\t\t\tthis._metroSetTextBox2 = new MetroSet_UI.Controls.MetroSetTextBox();\n\t\t\tthis._metroSetTextBox4 = new MetroSet_UI.Controls.MetroSetTextBox();\n\t\t\tthis._metroSetTextBox1 = new MetroSet_UI.Controls.MetroSetTextBox();\n\t\t\tthis._metroSetContextMenuStrip1 = new MetroSet_UI.Controls.MetroSetContextMenuStrip();\n\t\t\tthis.textBoxToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();\n\t\t\tthis._metroSetLabel8 = new MetroSet_UI.Controls.MetroSetLabel();\n\t\t\tthis._metroSetLabel9 = new MetroSet_UI.Controls.MetroSetLabel();\n\t\t\tthis._metroSetLabel6 = new MetroSet_UI.Controls.MetroSetLabel();\n\t\t\tthis._metroSetLabel7 = new MetroSet_UI.Controls.MetroSetLabel();\n\t\t\tthis._metroSetLabel5 = new MetroSet_UI.Controls.MetroSetLabel();\n\t\t\tthis._metroSetSetTabPage4 = new MetroSet_UI.Child.MetroSetSetTabPage();\n\t\t\tthis._metroSetSwitch4 = new MetroSet_UI.Controls.MetroSetSwitch();\n\t\t\tthis._metroSetSwitch3 = new MetroSet_UI.Controls.MetroSetSwitch();\n\t\t\tthis._metroSetSwitch2 = new MetroSet_UI.Controls.MetroSetSwitch();\n\t\t\tthis._metroSetSwitch1 = new MetroSet_UI.Controls.MetroSetSwitch();\n\t\t\tthis._metroSetLabel12 = new MetroSet_UI.Controls.MetroSetLabel();\n\t\t\tthis._metroSetRadioButton4 = new MetroSet_UI.Controls.MetroSetRadioButton();\n\t\t\tthis._metroSetRadioButton3 = new MetroSet_UI.Controls.MetroSetRadioButton();\n\t\t\tthis._metroSetRadioButton2 = new MetroSet_UI.Controls.MetroSetRadioButton();\n\t\t\tthis._metroSetRadioButton1 = new MetroSet_UI.Controls.MetroSetRadioButton();\n\t\t\tthis._metroSetCheckBox5 = new MetroSet_UI.Controls.MetroSetCheckBox();\n\t\t\tthis._metroSetCheckBox4 = new MetroSet_UI.Controls.MetroSetCheckBox();\n\t\t\tthis._metroSetCheckBox3 = new MetroSet_UI.Controls.MetroSetCheckBox();\n\t\t\tthis._metroSetCheckBox2 = new MetroSet_UI.Controls.MetroSetCheckBox();\n\t\t\tthis._metroSetCheckBox6 = new MetroSet_UI.Controls.MetroSetCheckBox();\n\t\t\tthis._metroSetCheckBox1 = new MetroSet_UI.Controls.MetroSetCheckBox();\n\t\t\tthis._metroSetLabel11 = new MetroSet_UI.Controls.MetroSetLabel();\n\t\t\tthis._metroSetLabel10 = new MetroSet_UI.Controls.MetroSetLabel();\n\t\t\tthis._metroSetSetTabPage5 = new MetroSet_UI.Child.MetroSetSetTabPage();\n\t\t\tthis._metroSetTrackBar2 = new MetroSet_UI.Controls.MetroSetTrackBar();\n\t\t\tthis._metroSetTrackBar1 = new MetroSet_UI.Controls.MetroSetTrackBar();\n\t\t\tthis._metroSetProgressBar4 = new MetroSet_UI.Controls.MetroSetProgressBar();\n\t\t\tthis._metroSetProgressBar3 = new MetroSet_UI.Controls.MetroSetProgressBar();\n\t\t\tthis._metroSetLabel14 = new MetroSet_UI.Controls.MetroSetLabel();\n\t\t\tthis._metroSetLabel15 = new MetroSet_UI.Controls.MetroSetLabel();\n\t\t\tthis._metroSetLabel13 = new MetroSet_UI.Controls.MetroSetLabel();\n\t\t\tthis._metroSetProgressBar2 = new MetroSet_UI.Controls.MetroSetProgressBar();\n\t\t\tthis._metroSetProgressBar1 = new MetroSet_UI.Controls.MetroSetProgressBar();\n\t\t\tthis._metroSetSetTabPage6 = new MetroSet_UI.Child.MetroSetSetTabPage();\n\t\t\tthis._metroSetLink2 = new MetroSet_UI.Controls.MetroSetLink();\n\t\t\tthis._metroSetLink1 = new MetroSet_UI.Controls.MetroSetLink();\n\t\t\tthis._metroSetLabel17 = new MetroSet_UI.Controls.MetroSetLabel();\n\t\t\tthis._metroSetLabel16 = new MetroSet_UI.Controls.MetroSetLabel();\n\t\t\tthis._metroSetSetTabPage7 = new MetroSet_UI.Child.MetroSetSetTabPage();\n\t\t\tthis._metroSetButton7 = new MetroSet_UI.Controls.MetroSetDefaultButton();\n\t\t\tthis._metroSetButton6 = new MetroSet_UI.Controls.MetroSetDefaultButton();\n\t\t\tthis._metroSetButton5 = new MetroSet_UI.Controls.MetroSetDefaultButton();\n\t\t\tthis._metroSetButton4 = new MetroSet_UI.Controls.MetroSetDefaultButton();\n\t\t\tthis._metroSetButton3 = new MetroSet_UI.Controls.MetroSetDefaultButton();\n\t\t\tthis._metroSetLabel18 = new MetroSet_UI.Controls.MetroSetLabel();\n\t\t\tthis._metroSetSetTabPage8 = new MetroSet_UI.Child.MetroSetSetTabPage();\n\t\t\tthis._metroSetControlBox1 = new MetroSet_UI.Controls.MetroSetControlBox();\n\t\t\tthis._metroSetSetToolTip1 = new MetroSet_UI.Components.MetroSetSetToolTip();\n\t\t\tthis._metroSetTabControl1.SuspendLayout();\n\t\t\tthis._metroSetSetTabPage2.SuspendLayout();\n\t\t\tthis._metroSetSetTabPage1.SuspendLayout();\n\t\t\tthis._metroSetSetTabPage3.SuspendLayout();\n\t\t\tthis._metroSetContextMenuStrip1.SuspendLayout();\n\t\t\tthis._metroSetSetTabPage4.SuspendLayout();\n\t\t\tthis._metroSetSetTabPage5.SuspendLayout();\n\t\t\tthis._metroSetSetTabPage6.SuspendLayout();\n\t\t\tthis._metroSetSetTabPage7.SuspendLayout();\n\t\t\tthis.SuspendLayout();\n\t\t\t// \n\t\t\t// _metroSetTabControl1\n\t\t\t// \n\t\t\tthis._metroSetTabControl1.AnimateEasingType = MetroSet_UI.Enums.EasingType.CubeOut;\n\t\t\tthis._metroSetTabControl1.AnimateTime = 200;\n\t\t\tthis._metroSetTabControl1.BackgroundColor = System.Drawing.Color.White;\n\t\t\tthis._metroSetTabControl1.Controls.Add(this._metroSetSetTabPage2);\n\t\t\tthis._metroSetTabControl1.Controls.Add(this._metroSetSetTabPage1);\n\t\t\tthis._metroSetTabControl1.Controls.Add(this._metroSetSetTabPage3);\n\t\t\tthis._metroSetTabControl1.Controls.Add(this._metroSetSetTabPage4);\n\t\t\tthis._metroSetTabControl1.Controls.Add(this._metroSetSetTabPage5);\n\t\t\tthis._metroSetTabControl1.Controls.Add(this._metroSetSetTabPage6);\n\t\t\tthis._metroSetTabControl1.Controls.Add(this._metroSetSetTabPage7);\n\t\t\tthis._metroSetTabControl1.Controls.Add(this._metroSetSetTabPage8);\n\t\t\tthis._metroSetTabControl1.Cursor = System.Windows.Forms.Cursors.Hand;\n\t\t\tthis._metroSetTabControl1.Dock = System.Windows.Forms.DockStyle.Fill;\n\t\t\tthis._metroSetTabControl1.IsDerivedStyle = true;\n\t\t\tthis._metroSetTabControl1.ItemSize = new System.Drawing.Size(100, 38);\n\t\t\tthis._metroSetTabControl1.Location = new System.Drawing.Point(12, 70);\n\t\t\tthis._metroSetTabControl1.Name = \"_metroSetTabControl1\";\n\t\t\tthis._metroSetTabControl1.SelectedIndex = 7;\n\t\t\tthis._metroSetTabControl1.SelectedTextColor = System.Drawing.Color.White;\n\t\t\tthis._metroSetTabControl1.Size = new System.Drawing.Size(1114, 616);\n\t\t\tthis._metroSetTabControl1.SizeMode = System.Windows.Forms.TabSizeMode.Fixed;\n\t\t\tthis._metroSetTabControl1.Speed = 100;\n\t\t\tthis._metroSetTabControl1.Style = MetroSet_UI.Enums.Style.Light;\n\t\t\tthis._metroSetTabControl1.StyleManager = this.styleManager1;\n\t\t\tthis._metroSetTabControl1.TabIndex = 0;\n\t\t\tthis._metroSetTabControl1.ThemeAuthor = \"Narwin\";\n\t\t\tthis._metroSetTabControl1.ThemeName = \"MetroLite\";\n\t\t\tthis._metroSetTabControl1.UnselectedTextColor = System.Drawing.Color.Gray;\n\t\t\tthis._metroSetTabControl1.UseAnimation = false;\n\t\t\t// \n\t\t\t// _metroSetSetTabPage2\n\t\t\t// \n\t\t\tthis._metroSetSetTabPage2.BaseColor = System.Drawing.Color.White;\n\t\t\tthis._metroSetSetTabPage2.Controls.Add(this._metroSetButton2);\n\t\t\tthis._metroSetSetTabPage2.Controls.Add(this._metroSetButton1);\n\t\t\tthis._metroSetSetTabPage2.Controls.Add(this._metroSetEllipse3);\n\t\t\tthis._metroSetSetTabPage2.Controls.Add(this._metroSetEllipse2);\n\t\t\tthis._metroSetSetTabPage2.Controls.Add(this._metroSetEllipse1);\n\t\t\tthis._metroSetSetTabPage2.Controls.Add(this._metroSetBadge2);\n\t\t\tthis._metroSetSetTabPage2.Controls.Add(this._metroSetBadge1);\n\t\t\tthis._metroSetSetTabPage2.Controls.Add(this._metroSetLabel2);\n\t\t\tthis._metroSetSetTabPage2.Controls.Add(this._metroSetLabel3);\n\t\t\tthis._metroSetSetTabPage2.Controls.Add(this._metroSetLabel19);\n\t\t\tthis._metroSetSetTabPage2.Controls.Add(this._metroSetLabel1);\n\t\t\tthis._metroSetSetTabPage2.Controls.Add(this._metroSetDefaultButton2);\n\t\t\tthis._metroSetSetTabPage2.Controls.Add(this._metroSetDefaultButton1);\n\t\t\tthis._metroSetSetTabPage2.Font = null;\n\t\t\tthis._metroSetSetTabPage2.ImageIndex = 0;\n\t\t\tthis._metroSetSetTabPage2.ImageKey = null;\n\t\t\tthis._metroSetSetTabPage2.IsDerivedStyle = true;\n\t\t\tthis._metroSetSetTabPage2.Location = new System.Drawing.Point(4, 42);\n\t\t\tthis._metroSetSetTabPage2.Name = \"_metroSetSetTabPage2\";\n\t\t\tthis._metroSetSetTabPage2.Size = new System.Drawing.Size(1106, 570);\n\t\t\tthis._metroSetSetTabPage2.Style = MetroSet_UI.Enums.Style.Light;\n\t\t\tthis._metroSetSetTabPage2.StyleManager = this.styleManager1;\n\t\t\tthis._metroSetSetTabPage2.TabIndex = 1;\n\t\t\tthis._metroSetSetTabPage2.Text = \"ButtonBase\";\n\t\t\tthis._metroSetSetTabPage2.ThemeAuthor = \"Narwin\";\n\t\t\tthis._metroSetSetTabPage2.ThemeName = \"MetroLite\";\n\t\t\tthis._metroSetSetTabPage2.ToolTipText = null;\n\t\t\t// \n\t\t\t// _metroSetButton2\n\t\t\t// \n\t\t\tthis._metroSetButton2.DisabledBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(120)))), ((int)(((byte)(65)))), ((int)(((byte)(177)))), ((int)(((byte)(225)))));\n\t\t\tthis._metroSetButton2.DisabledBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(120)))), ((int)(((byte)(65)))), ((int)(((byte)(177)))), ((int)(((byte)(225)))));\n\t\t\tthis._metroSetButton2.DisabledForeColor = System.Drawing.Color.Gray;\n\t\t\tthis._metroSetButton2.Enabled = false;\n\t\t\tthis._metroSetButton2.Font = new System.Drawing.Font(\"Microsoft Sans Serif\", 10F);\n\t\t\tthis._metroSetButton2.HoverBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(95)))), ((int)(((byte)(207)))), ((int)(((byte)(255)))));\n\t\t\tthis._metroSetButton2.HoverColor = System.Drawing.Color.FromArgb(((int)(((byte)(95)))), ((int)(((byte)(207)))), ((int)(((byte)(255)))));\n\t\t\tthis._metroSetButton2.HoverTextColor = System.Drawing.Color.White;\n\t\t\tthis._metroSetButton2.IsDerivedStyle = true;\n\t\t\tthis._metroSetButton2.Location = new System.Drawing.Point(376, 171);\n\t\t\tthis._metroSetButton2.Name = \"_metroSetButton2\";\n\t\t\tthis._metroSetButton2.NormalBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(177)))), ((int)(((byte)(225)))));\n\t\t\tthis._metroSetButton2.NormalColor = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(177)))), ((int)(((byte)(225)))));\n\t\t\tthis._metroSetButton2.NormalTextColor = System.Drawing.Color.White;\n\t\t\tthis._metroSetButton2.PressBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(35)))), ((int)(((byte)(147)))), ((int)(((byte)(195)))));\n\t\t\tthis._metroSetButton2.PressColor = System.Drawing.Color.FromArgb(((int)(((byte)(35)))), ((int)(((byte)(147)))), ((int)(((byte)(195)))));\n\t\t\tthis._metroSetButton2.PressTextColor = System.Drawing.Color.White;\n\t\t\tthis._metroSetButton2.Size = new System.Drawing.Size(180, 40);\n\t\t\tthis._metroSetButton2.Style = MetroSet_UI.Enums.Style.Light;\n\t\t\tthis._metroSetButton2.StyleManager = this.styleManager1;\n\t\t\tthis._metroSetButton2.TabIndex = 9;\n\t\t\tthis._metroSetButton2.Text = \"Disabled button\";\n\t\t\tthis._metroSetButton2.ThemeAuthor = \"Narwin\";\n\t\t\tthis._metroSetButton2.ThemeName = \"MetroLite\";\n\t\t\t// \n\t\t\t// styleManager1\n\t\t\t// \n\t\t\tthis.styleManager1.CustomTheme = \"C:\\\\Users\\\\Halloween\\\\Desktop\\\\MetroSet Theme.xml\";\n\t\t\tthis.styleManager1.MetroForm = this;\n\t\t\tthis.styleManager1.Style = MetroSet_UI.Enums.Style.Light;\n\t\t\tthis.styleManager1.ThemeAuthor = \"Narwin\";\n\t\t\tthis.styleManager1.ThemeName = \"MetroLite\";\n\t\t\t// \n\t\t\t// _metroSetButton1\n\t\t\t// \n\t\t\tthis._metroSetButton1.DisabledBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(120)))), ((int)(((byte)(65)))), ((int)(((byte)(177)))), ((int)(((byte)(225)))));\n\t\t\tthis._metroSetButton1.DisabledBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(120)))), ((int)(((byte)(65)))), ((int)(((byte)(177)))), ((int)(((byte)(225)))));\n\t\t\tthis._metroSetButton1.DisabledForeColor = System.Drawing.Color.Gray;\n\t\t\tthis._metroSetButton1.Font = new System.Drawing.Font(\"Microsoft Sans Serif\", 10F);\n\t\t\tthis._metroSetButton1.HoverBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(95)))), ((int)(((byte)(207)))), ((int)(((byte)(255)))));\n\t\t\tthis._metroSetButton1.HoverColor = System.Drawing.Color.FromArgb(((int)(((byte)(95)))), ((int)(((byte)(207)))), ((int)(((byte)(255)))));\n\t\t\tthis._metroSetButton1.HoverTextColor = System.Drawing.Color.White;\n\t\t\tthis._metroSetButton1.IsDerivedStyle = true;\n\t\t\tthis._metroSetButton1.Location = new System.Drawing.Point(376, 104);\n\t\t\tthis._metroSetButton1.Name = \"_metroSetButton1\";\n\t\t\tthis._metroSetButton1.NormalBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(177)))), ((int)(((byte)(225)))));\n\t\t\tthis._metroSetButton1.NormalColor = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(177)))), ((int)(((byte)(225)))));\n\t\t\tthis._metroSetButton1.NormalTextColor = System.Drawing.Color.White;\n\t\t\tthis._metroSetButton1.PressBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(35)))), ((int)(((byte)(147)))), ((int)(((byte)(195)))));\n\t\t\tthis._metroSetButton1.PressColor = System.Drawing.Color.FromArgb(((int)(((byte)(35)))), ((int)(((byte)(147)))), ((int)(((byte)(195)))));\n\t\t\tthis._metroSetButton1.PressTextColor = System.Drawing.Color.White;\n\t\t\tthis._metroSetButton1.Size = new System.Drawing.Size(180, 40);\n\t\t\tthis._metroSetButton1.Style = MetroSet_UI.Enums.Style.Light;\n\t\t\tthis._metroSetButton1.StyleManager = this.styleManager1;\n\t\t\tthis._metroSetButton1.TabIndex = 9;\n\t\t\tthis._metroSetButton1.Text = \"Normal button\";\n\t\t\tthis._metroSetButton1.ThemeAuthor = \"Narwin\";\n\t\t\tthis._metroSetButton1.ThemeName = \"MetroLite\";\n\t\t\t// \n\t\t\t// _metroSetEllipse3\n\t\t\t// \n\t\t\tthis._metroSetEllipse3.BackColor = System.Drawing.Color.Transparent;\n\t\t\tthis._metroSetEllipse3.BorderThickness = 5;\n\t\t\tthis._metroSetEllipse3.DisabledBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(204)))), ((int)(((byte)(204)))), ((int)(((byte)(204)))));\n\t\t\tthis._metroSetEllipse3.DisabledBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(155)))), ((int)(((byte)(155)))), ((int)(((byte)(155)))));\n\t\t\tthis._metroSetEllipse3.DisabledForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(136)))), ((int)(((byte)(136)))), ((int)(((byte)(136)))));\n\t\t\tthis._metroSetEllipse3.Font = new System.Drawing.Font(\"Microsoft Sans Serif\", 10F);\n\t\t\tthis._metroSetEllipse3.HoverBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(102)))), ((int)(((byte)(102)))), ((int)(((byte)(102)))));\n\t\t\tthis._metroSetEllipse3.HoverColor = System.Drawing.Color.FromArgb(((int)(((byte)(102)))), ((int)(((byte)(102)))), ((int)(((byte)(102)))));\n\t\t\tthis._metroSetEllipse3.HoverTextColor = System.Drawing.Color.White;\n\t\t\tthis._metroSetEllipse3.Image = global::MetroSet_UI_Example.Properties.Resources.icons8_double_right;\n\t\t\tthis._metroSetEllipse3.ImageSize = new System.Drawing.Size(64, 64);\n\t\t\tthis._metroSetEllipse3.IsDerivedStyle = true;\n\t\t\tthis._metroSetEllipse3.Location = new System.Drawing.Point(793, 234);\n\t\t\tthis._metroSetEllipse3.Name = \"_metroSetEllipse3\";\n\t\t\tthis._metroSetEllipse3.NormalBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(204)))), ((int)(((byte)(204)))), ((int)(((byte)(204)))));\n\t\t\tthis._metroSetEllipse3.NormalColor = System.Drawing.Color.FromArgb(((int)(((byte)(238)))), ((int)(((byte)(238)))), ((int)(((byte)(238)))));\n\t\t\tthis._metroSetEllipse3.NormalTextColor = System.Drawing.Color.Black;\n\t\t\tthis._metroSetEllipse3.PressBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(51)))), ((int)(((byte)(51)))), ((int)(((byte)(51)))));\n\t\t\tthis._metroSetEllipse3.PressColor = System.Drawing.Color.FromArgb(((int)(((byte)(51)))), ((int)(((byte)(51)))), ((int)(((byte)(51)))));\n\t\t\tthis._metroSetEllipse3.PressTextColor = System.Drawing.Color.White;\n\t\t\tthis._metroSetEllipse3.Size = new System.Drawing.Size(139, 122);\n\t\t\tthis._metroSetEllipse3.Style = MetroSet_UI.Enums.Style.Light;\n\t\t\tthis._metroSetEllipse3.StyleManager = this.styleManager1;\n\t\t\tthis._metroSetEllipse3.TabIndex = 5;\n\t\t\tthis._metroSetEllipse3.ThemeAuthor = \"Narwin\";\n\t\t\tthis._metroSetEllipse3.ThemeName = \"MetroLite\";\n\t\t\t// \n\t\t\t// _metroSetEllipse2\n\t\t\t// \n\t\t\tthis._metroSetEllipse2.BackColor = System.Drawing.Color.Transparent;\n\t\t\tthis._metroSetEllipse2.BorderThickness = 7;\n\t\t\tthis._metroSetEllipse2.DisabledBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(204)))), ((int)(((byte)(204)))), ((int)(((byte)(204)))));\n\t\t\tthis._metroSetEllipse2.DisabledBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(155)))), ((int)(((byte)(155)))), ((int)(((byte)(155)))));\n\t\t\tthis._metroSetEllipse2.DisabledForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(136)))), ((int)(((byte)(136)))), ((int)(((byte)(136)))));\n\t\t\tthis._metroSetEllipse2.Enabled = false;\n\t\t\tthis._metroSetEllipse2.Font = new System.Drawing.Font(\"Microsoft Sans Serif\", 10F);\n\t\t\tthis._metroSetEllipse2.HoverBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(102)))), ((int)(((byte)(102)))), ((int)(((byte)(102)))));\n\t\t\tthis._metroSetEllipse2.HoverColor = System.Drawing.Color.FromArgb(((int)(((byte)(102)))), ((int)(((byte)(102)))), ((int)(((byte)(102)))));\n\t\t\tthis._metroSetEllipse2.HoverTextColor = System.Drawing.Color.White;\n\t\t\tthis._metroSetEllipse2.Image = null;\n\t\t\tthis._metroSetEllipse2.ImageSize = new System.Drawing.Size(64, 64);\n\t\t\tthis._metroSetEllipse2.IsDerivedStyle = true;\n\t\t\tthis._metroSetEllipse2.Location = new System.Drawing.Point(870, 104);\n\t\t\tthis._metroSetEllipse2.Name = \"_metroSetEllipse2\";\n\t\t\tthis._metroSetEllipse2.NormalBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(204)))), ((int)(((byte)(204)))), ((int)(((byte)(204)))));\n\t\t\tthis._metroSetEllipse2.NormalColor = System.Drawing.Color.FromArgb(((int)(((byte)(238)))), ((int)(((byte)(238)))), ((int)(((byte)(238)))));\n\t\t\tthis._metroSetEllipse2.NormalTextColor = System.Drawing.Color.Black;\n\t\t\tthis._metroSetEllipse2.PressBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(51)))), ((int)(((byte)(51)))), ((int)(((byte)(51)))));\n\t\t\tthis._metroSetEllipse2.PressColor = System.Drawing.Color.FromArgb(((int)(((byte)(51)))), ((int)(((byte)(51)))), ((int)(((byte)(51)))));\n\t\t\tthis._metroSetEllipse2.PressTextColor = System.Drawing.Color.White;\n\t\t\tthis._metroSetEllipse2.Size = new System.Drawing.Size(139, 122);\n\t\t\tthis._metroSetEllipse2.Style = MetroSet_UI.Enums.Style.Light;\n\t\t\tthis._metroSetEllipse2.StyleManager = this.styleManager1;\n\t\t\tthis._metroSetEllipse2.TabIndex = 5;\n\t\t\tthis._metroSetEllipse2.Text = \"Disabled Ellipse\";\n\t\t\tthis._metroSetEllipse2.ThemeAuthor = \"Narwin\";\n\t\t\tthis._metroSetEllipse2.ThemeName = \"MetroLite\";\n\t\t\t// \n\t\t\t// _metroSetEllipse1\n\t\t\t// \n\t\t\tthis._metroSetEllipse1.BackColor = System.Drawing.Color.Transparent;\n\t\t\tthis._metroSetEllipse1.BorderThickness = 7;\n\t\t\tthis._metroSetEllipse1.DisabledBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(204)))), ((int)(((byte)(204)))), ((int)(((byte)(204)))));\n\t\t\tthis._metroSetEllipse1.DisabledBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(155)))), ((int)(((byte)(155)))), ((int)(((byte)(155)))));\n\t\t\tthis._metroSetEllipse1.DisabledForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(136)))), ((int)(((byte)(136)))), ((int)(((byte)(136)))));\n\t\t\tthis._metroSetEllipse1.Font = new System.Drawing.Font(\"Microsoft Sans Serif\", 10F);\n\t\t\tthis._metroSetEllipse1.HoverBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(102)))), ((int)(((byte)(102)))), ((int)(((byte)(102)))));\n\t\t\tthis._metroSetEllipse1.HoverColor = System.Drawing.Color.FromArgb(((int)(((byte)(102)))), ((int)(((byte)(102)))), ((int)(((byte)(102)))));\n\t\t\tthis._metroSetEllipse1.HoverTextColor = System.Drawing.Color.White;\n\t\t\tthis._metroSetEllipse1.Image = null;\n\t\t\tthis._metroSetEllipse1.ImageSize = new System.Drawing.Size(64, 64);\n\t\t\tthis._metroSetEllipse1.IsDerivedStyle = true;\n\t\t\tthis._metroSetEllipse1.Location = new System.Drawing.Point(714, 104);\n\t\t\tthis._metroSetEllipse1.Name = \"_metroSetEllipse1\";\n\t\t\tthis._metroSetEllipse1.NormalBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(204)))), ((int)(((byte)(204)))), ((int)(((byte)(204)))));\n\t\t\tthis._metroSetEllipse1.NormalColor = System.Drawing.Color.FromArgb(((int)(((byte)(238)))), ((int)(((byte)(238)))), ((int)(((byte)(238)))));\n\t\t\tthis._metroSetEllipse1.NormalTextColor = System.Drawing.Color.Black;\n\t\t\tthis._metroSetEllipse1.PressBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(51)))), ((int)(((byte)(51)))), ((int)(((byte)(51)))));\n\t\t\tthis._metroSetEllipse1.PressColor = System.Drawing.Color.FromArgb(((int)(((byte)(51)))), ((int)(((byte)(51)))), ((int)(((byte)(51)))));\n\t\t\tthis._metroSetEllipse1.PressTextColor = System.Drawing.Color.White;\n\t\t\tthis._metroSetEllipse1.Size = new System.Drawing.Size(139, 122);\n\t\t\tthis._metroSetEllipse1.Style = MetroSet_UI.Enums.Style.Light;\n\t\t\tthis._metroSetEllipse1.StyleManager = this.styleManager1;\n\t\t\tthis._metroSetEllipse1.TabIndex = 5;\n\t\t\tthis._metroSetEllipse1.Text = \"Ellipse Button\";\n\t\t\tthis._metroSetEllipse1.ThemeAuthor = \"Narwin\";\n\t\t\tthis._metroSetEllipse1.ThemeName = \"MetroLite\";\n\t\t\t// \n\t\t\t// _metroSetBadge2\n\t\t\t// \n\t\t\tthis._metroSetBadge2.BackColor = System.Drawing.Color.Transparent;\n\t\t\tthis._metroSetBadge2.BadgeAlignment = MetroSet_UI.Enums.BadgeAlign.TopRight;\n\t\t\tthis._metroSetBadge2.BadgeText = \"A\";\n\t\t\tthis._metroSetBadge2.DisabledBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(204)))), ((int)(((byte)(204)))), ((int)(((byte)(204)))));\n\t\t\tthis._metroSetBadge2.DisabledBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(155)))), ((int)(((byte)(155)))), ((int)(((byte)(155)))));\n\t\t\tthis._metroSetBadge2.DisabledForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(136)))), ((int)(((byte)(136)))), ((int)(((byte)(136)))));\n\t\t\tthis._metroSetBadge2.Enabled = false;\n\t\t\tthis._metroSetBadge2.Font = new System.Drawing.Font(\"Microsoft Sans Serif\", 10F);\n\t\t\tthis._metroSetBadge2.HoverBadgeColor = System.Drawing.Color.FromArgb(((int)(((byte)(85)))), ((int)(((byte)(187)))), ((int)(((byte)(245)))));\n\t\t\tthis._metroSetBadge2.HoverBadgeTextColor = System.Drawing.Color.White;\n\t\t\tthis._metroSetBadge2.HoverBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(102)))), ((int)(((byte)(102)))), ((int)(((byte)(102)))));\n\t\t\tthis._metroSetBadge2.HoverColor = System.Drawing.Color.FromArgb(((int)(((byte)(102)))), ((int)(((byte)(102)))), ((int)(((byte)(102)))));\n\t\t\tthis._metroSetBadge2.HoverTextColor = System.Drawing.Color.White;\n\t\t\tthis._metroSetBadge2.IsDerivedStyle = true;\n\t\t\tthis._metroSetBadge2.Location = new System.Drawing.Point(376, 289);\n\t\t\tthis._metroSetBadge2.Name = \"_metroSetBadge2\";\n\t\t\tthis._metroSetBadge2.NormalBadgeColor = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(177)))), ((int)(((byte)(225)))));\n\t\t\tthis._metroSetBadge2.NormalBadgeTextColor = System.Drawing.Color.White;\n\t\t\tthis._metroSetBadge2.NormalBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(204)))), ((int)(((byte)(204)))), ((int)(((byte)(204)))));\n\t\t\tthis._metroSetBadge2.NormalColor = System.Drawing.Color.FromArgb(((int)(((byte)(238)))), ((int)(((byte)(238)))), ((int)(((byte)(238)))));\n\t\t\tthis._metroSetBadge2.NormalTextColor = System.Drawing.Color.Black;\n\t\t\tthis._metroSetBadge2.PressBadgeColor = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(147)))), ((int)(((byte)(205)))));\n\t\t\tthis._metroSetBadge2.PressBadgeTextColor = System.Drawing.Color.White;\n\t\t\tthis._metroSetBadge2.PressBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(51)))), ((int)(((byte)(51)))), ((int)(((byte)(51)))));\n\t\t\tthis._metroSetBadge2.PressColor = System.Drawing.Color.FromArgb(((int)(((byte)(51)))), ((int)(((byte)(51)))), ((int)(((byte)(51)))));\n\t\t\tthis._metroSetBadge2.PressTextColor = System.Drawing.Color.White;\n\t\t\tthis._metroSetBadge2.Size = new System.Drawing.Size(198, 67);\n\t\t\tthis._metroSetBadge2.Style = MetroSet_UI.Enums.Style.Light;\n\t\t\tthis._metroSetBadge2.StyleManager = this.styleManager1;\n\t\t\tthis._metroSetBadge2.TabIndex = 4;\n\t\t\tthis._metroSetBadge2.Text = \"Disabled Badge Button\";\n\t\t\tthis._metroSetBadge2.ThemeAuthor = \"Narwin\";\n\t\t\tthis._metroSetBadge2.ThemeName = \"MetroLite\";\n\t\t\t// \n\t\t\t// _metroSetBadge1\n\t\t\t// \n\t\t\tthis._metroSetBadge1.BackColor = System.Drawing.Color.Transparent;\n\t\t\tthis._metroSetBadge1.BadgeAlignment = MetroSet_UI.Enums.BadgeAlign.TopRight;\n\t\t\tthis._metroSetBadge1.BadgeText = \"A\";\n\t\t\tthis._metroSetBadge1.DisabledBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(204)))), ((int)(((byte)(204)))), ((int)(((byte)(204)))));\n\t\t\tthis._metroSetBadge1.DisabledBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(155)))), ((int)(((byte)(155)))), ((int)(((byte)(155)))));\n\t\t\tthis._metroSetBadge1.DisabledForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(136)))), ((int)(((byte)(136)))), ((int)(((byte)(136)))));\n\t\t\tthis._metroSetBadge1.Font = new System.Drawing.Font(\"Microsoft Sans Serif\", 10F);\n\t\t\tthis._metroSetBadge1.HoverBadgeColor = System.Drawing.Color.FromArgb(((int)(((byte)(85)))), ((int)(((byte)(187)))), ((int)(((byte)(245)))));\n\t\t\tthis._metroSetBadge1.HoverBadgeTextColor = System.Drawing.Color.White;\n\t\t\tthis._metroSetBadge1.HoverBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(102)))), ((int)(((byte)(102)))), ((int)(((byte)(102)))));\n\t\t\tthis._metroSetBadge1.HoverColor = System.Drawing.Color.FromArgb(((int)(((byte)(102)))), ((int)(((byte)(102)))), ((int)(((byte)(102)))));\n\t\t\tthis._metroSetBadge1.HoverTextColor = System.Drawing.Color.White;\n\t\t\tthis._metroSetBadge1.IsDerivedStyle = true;\n\t\t\tthis._metroSetBadge1.Location = new System.Drawing.Point(15, 289);\n\t\t\tthis._metroSetBadge1.Name = \"_metroSetBadge1\";\n\t\t\tthis._metroSetBadge1.NormalBadgeColor = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(177)))), ((int)(((byte)(225)))));\n\t\t\tthis._metroSetBadge1.NormalBadgeTextColor = System.Drawing.Color.White;\n\t\t\tthis._metroSetBadge1.NormalBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(204)))), ((int)(((byte)(204)))), ((int)(((byte)(204)))));\n\t\t\tthis._metroSetBadge1.NormalColor = System.Drawing.Color.FromArgb(((int)(((byte)(238)))), ((int)(((byte)(238)))), ((int)(((byte)(238)))));\n\t\t\tthis._metroSetBadge1.NormalTextColor = System.Drawing.Color.Black;\n\t\t\tthis._metroSetBadge1.PressBadgeColor = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(147)))), ((int)(((byte)(205)))));\n\t\t\tthis._metroSetBadge1.PressBadgeTextColor = System.Drawing.Color.White;\n\t\t\tthis._metroSetBadge1.PressBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(51)))), ((int)(((byte)(51)))), ((int)(((byte)(51)))));\n\t\t\tthis._metroSetBadge1.PressColor = System.Drawing.Color.FromArgb(((int)(((byte)(51)))), ((int)(((byte)(51)))), ((int)(((byte)(51)))));\n\t\t\tthis._metroSetBadge1.PressTextColor = System.Drawing.Color.White;\n\t\t\tthis._metroSetBadge1.Size = new System.Drawing.Size(195, 67);\n\t\t\tthis._metroSetBadge1.Style = MetroSet_UI.Enums.Style.Light;\n\t\t\tthis._metroSetBadge1.StyleManager = this.styleManager1;\n\t\t\tthis._metroSetBadge1.TabIndex = 3;\n\t\t\tthis._metroSetBadge1.Text = \"Normal Badge Button\";\n\t\t\tthis._metroSetBadge1.ThemeAuthor = \"Narwin\";\n\t\t\tthis._metroSetBadge1.ThemeName = \"MetroLite\";\n\t\t\t// \n\t\t\t// _metroSetLabel2\n\t\t\t// \n\t\t\tthis._metroSetLabel2.Font = new System.Drawing.Font(\"Microsoft Sans Serif\", 10F);\n\t\t\tthis._metroSetLabel2.IsDerivedStyle = true;\n\t\t\tthis._metroSetLabel2.Location = new System.Drawing.Point(15, 259);\n\t\t\tthis._metroSetLabel2.Name = \"_metroSetLabel2\";\n\t\t\tthis._metroSetLabel2.Size = new System.Drawing.Size(100, 23);\n\t\t\tthis._metroSetLabel2.Style = MetroSet_UI.Enums.Style.Light;\n\t\t\tthis._metroSetLabel2.StyleManager = this.styleManager1;\n\t\t\tthis._metroSetLabel2.TabIndex = 2;\n\t\t\tthis._metroSetLabel2.Text = \"Badge Button\";\n\t\t\tthis._metroSetLabel2.ThemeAuthor = \"Narwin\";\n\t\t\tthis._metroSetLabel2.ThemeName = \"MetroLite\";\n\t\t\t// \n\t\t\t// _metroSetLabel3\n\t\t\t// \n\t\t\tthis._metroSetLabel3.Font = new System.Drawing.Font(\"Microsoft Sans Serif\", 10F);\n\t\t\tthis._metroSetLabel3.IsDerivedStyle = true;\n\t\t\tthis._metroSetLabel3.Location = new System.Drawing.Point(810, 59);\n\t\t\tthis._metroSetLabel3.Name = \"_metroSetLabel3\";\n\t\t\tthis._metroSetLabel3.Size = new System.Drawing.Size(100, 23);\n\t\t\tthis._metroSetLabel3.Style = MetroSet_UI.Enums.Style.Light;\n\t\t\tthis._metroSetLabel3.StyleManager = this.styleManager1;\n\t\t\tthis._metroSetLabel3.TabIndex = 1;\n\t\t\tthis._metroSetLabel3.Text = \"Ellipse Button\";\n\t\t\tthis._metroSetLabel3.ThemeAuthor = \"Narwin\";\n\t\t\tthis._metroSetLabel3.ThemeName = \"MetroLite\";\n\t\t\t// \n\t\t\t// _metroSetLabel19\n\t\t\t// \n\t\t\tthis._metroSetLabel19.Font = new System.Drawing.Font(\"Microsoft Sans Serif\", 10F);\n\t\t\tthis._metroSetLabel19.IsDerivedStyle = true;\n\t\t\tthis._metroSetLabel19.Location = new System.Drawing.Point(376, 59);\n\t\t\tthis._metroSetLabel19.Name = \"_metroSetLabel19\";\n\t\t\tthis._metroSetLabel19.Size = new System.Drawing.Size(100, 23);\n\t\t\tthis._metroSetLabel19.Style = MetroSet_UI.Enums.Style.Light;\n\t\t\tthis._metroSetLabel19.StyleManager = this.styleManager1;\n\t\t\tthis._metroSetLabel19.TabIndex = 1;\n\t\t\tthis._metroSetLabel19.Text = \"Normal Button\";\n\t\t\tthis._metroSetLabel19.ThemeAuthor = \"Narwin\";\n\t\t\tthis._metroSetLabel19.ThemeName = \"MetroLite\";\n\t\t\t// \n\t\t\t// _metroSetLabel1\n\t\t\t// \n\t\t\tthis._metroSetLabel1.Font = new System.Drawing.Font(\"Microsoft Sans Serif\", 10F);\n\t\t\tthis._metroSetLabel1.IsDerivedStyle = true;\n\t\t\tthis._metroSetLabel1.Location = new System.Drawing.Point(15, 59);\n\t\t\tthis._metroSetLabel1.Name = \"_metroSetLabel1\";\n\t\t\tthis._metroSetLabel1.Size = new System.Drawing.Size(100, 23);\n\t\t\tthis._metroSetLabel1.Style = MetroSet_UI.Enums.Style.Light;\n\t\t\tthis._metroSetLabel1.StyleManager = this.styleManager1;\n\t\t\tthis._metroSetLabel1.TabIndex = 1;\n\t\t\tthis._metroSetLabel1.Text = \"Default Button\";\n\t\t\tthis._metroSetLabel1.ThemeAuthor = \"Narwin\";\n\t\t\tthis._metroSetLabel1.ThemeName = \"MetroLite\";\n\t\t\t// \n\t\t\t// _metroSetDefaultButton2\n\t\t\t// \n\t\t\tthis._metroSetDefaultButton2.DisabledBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(204)))), ((int)(((byte)(204)))), ((int)(((byte)(204)))));\n\t\t\tthis._metroSetDefaultButton2.DisabledBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(155)))), ((int)(((byte)(155)))), ((int)(((byte)(155)))));\n\t\t\tthis._metroSetDefaultButton2.DisabledForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(136)))), ((int)(((byte)(136)))), ((int)(((byte)(136)))));\n\t\t\tthis._metroSetDefaultButton2.Enabled = false;\n\t\t\tthis._metroSetDefaultButton2.Font = new System.Drawing.Font(\"Microsoft Sans Serif\", 10F);\n\t\t\tthis._metroSetDefaultButton2.HoverBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(102)))), ((int)(((byte)(102)))), ((int)(((byte)(102)))));\n\t\t\tthis._metroSetDefaultButton2.HoverColor = System.Drawing.Color.FromArgb(((int)(((byte)(102)))), ((int)(((byte)(102)))), ((int)(((byte)(102)))));\n\t\t\tthis._metroSetDefaultButton2.HoverTextColor = System.Drawing.Color.White;\n\t\t\tthis._metroSetDefaultButton2.IsDerivedStyle = true;\n\t\t\tthis._metroSetDefaultButton2.Location = new System.Drawing.Point(15, 171);\n\t\t\tthis._metroSetDefaultButton2.Name = \"_metroSetDefaultButton2\";\n\t\t\tthis._metroSetDefaultButton2.NormalBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(204)))), ((int)(((byte)(204)))), ((int)(((byte)(204)))));\n\t\t\tthis._metroSetDefaultButton2.NormalColor = System.Drawing.Color.FromArgb(((int)(((byte)(238)))), ((int)(((byte)(238)))), ((int)(((byte)(238)))));\n\t\t\tthis._metroSetDefaultButton2.NormalTextColor = System.Drawing.Color.Black;\n\t\t\tthis._metroSetDefaultButton2.PressBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(51)))), ((int)(((byte)(51)))), ((int)(((byte)(51)))));\n\t\t\tthis._metroSetDefaultButton2.PressColor = System.Drawing.Color.FromArgb(((int)(((byte)(51)))), ((int)(((byte)(51)))), ((int)(((byte)(51)))));\n\t\t\tthis._metroSetDefaultButton2.PressTextColor = System.Drawing.Color.White;\n\t\t\tthis._metroSetDefaultButton2.Size = new System.Drawing.Size(180, 40);\n\t\t\tthis._metroSetDefaultButton2.Style = MetroSet_UI.Enums.Style.Light;\n\t\t\tthis._metroSetDefaultButton2.StyleManager = this.styleManager1;\n\t\t\tthis._metroSetDefaultButton2.TabIndex = 0;\n\t\t\tthis._metroSetDefaultButton2.Text = \"Disabled button\";\n\t\t\tthis._metroSetDefaultButton2.ThemeAuthor = \"Narwin\";\n\t\t\tthis._metroSetDefaultButton2.ThemeName = \"MetroLite\";\n\t\t\t// \n\t\t\t// _metroSetDefaultButton1\n\t\t\t// \n\t\t\tthis._metroSetDefaultButton1.DisabledBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(204)))), ((int)(((byte)(204)))), ((int)(((byte)(204)))));\n\t\t\tthis._metroSetDefaultButton1.DisabledBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(155)))), ((int)(((byte)(155)))), ((int)(((byte)(155)))));\n\t\t\tthis._metroSetDefaultButton1.DisabledForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(136)))), ((int)(((byte)(136)))), ((int)(((byte)(136)))));\n\t\t\tthis._metroSetDefaultButton1.Font = new System.Drawing.Font(\"Microsoft Sans Serif\", 10F);\n\t\t\tthis._metroSetDefaultButton1.HoverBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(102)))), ((int)(((byte)(102)))), ((int)(((byte)(102)))));\n\t\t\tthis._metroSetDefaultButton1.HoverColor = System.Drawing.Color.FromArgb(((int)(((byte)(102)))), ((int)(((byte)(102)))), ((int)(((byte)(102)))));\n\t\t\tthis._metroSetDefaultButton1.HoverTextColor = System.Drawing.Color.White;\n\t\t\tthis._metroSetDefaultButton1.IsDerivedStyle = true;\n\t\t\tthis._metroSetDefaultButton1.Location = new System.Drawing.Point(15, 104);\n\t\t\tthis._metroSetDefaultButton1.Name = \"_metroSetDefaultButton1\";\n\t\t\tthis._metroSetDefaultButton1.NormalBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(204)))), ((int)(((byte)(204)))), ((int)(((byte)(204)))));\n\t\t\tthis._metroSetDefaultButton1.NormalColor = System.Drawing.Color.FromArgb(((int)(((byte)(238)))), ((int)(((byte)(238)))), ((int)(((byte)(238)))));\n\t\t\tthis._metroSetDefaultButton1.NormalTextColor = System.Drawing.Color.Black;\n\t\t\tthis._metroSetDefaultButton1.PressBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(51)))), ((int)(((byte)(51)))), ((int)(((byte)(51)))));\n\t\t\tthis._metroSetDefaultButton1.PressColor = System.Drawing.Color.FromArgb(((int)(((byte)(51)))), ((int)(((byte)(51)))), ((int)(((byte)(51)))));\n\t\t\tthis._metroSetDefaultButton1.PressTextColor = System.Drawing.Color.White;\n\t\t\tthis._metroSetDefaultButton1.Size = new System.Drawing.Size(180, 40);\n\t\t\tthis._metroSetDefaultButton1.Style = MetroSet_UI.Enums.Style.Light;\n\t\t\tthis._metroSetDefaultButton1.StyleManager = this.styleManager1;\n\t\t\tthis._metroSetDefaultButton1.TabIndex = 0;\n\t\t\tthis._metroSetDefaultButton1.Text = \"Default button\";\n\t\t\tthis._metroSetDefaultButton1.ThemeAuthor = \"Narwin\";\n\t\t\tthis._metroSetDefaultButton1.ThemeName = \"MetroLite\";\n\t\t\tthis._metroSetDefaultButton1.Click += new System.EventHandler(this.MetroSetDefaultButton1_Click);\n\t\t\t// \n\t\t\t// _metroSetSetTabPage1\n\t\t\t// \n\t\t\tthis._metroSetSetTabPage1.BaseColor = System.Drawing.Color.White;\n\t\t\tthis._metroSetSetTabPage1.Controls.Add(this._metroSetTile8);\n\t\t\tthis._metroSetSetTabPage1.Controls.Add(this._metroSetTile4);\n\t\t\tthis._metroSetSetTabPage1.Controls.Add(this._metroSetTile7);\n\t\t\tthis._metroSetSetTabPage1.Controls.Add(this._metroSetTile6);\n\t\t\tthis._metroSetSetTabPage1.Controls.Add(this._metroSetTile2);\n\t\t\tthis._metroSetSetTabPage1.Controls.Add(this._metroSetTile5);\n\t\t\tthis._metroSetSetTabPage1.Controls.Add(this._metroSetTile3);\n\t\t\tthis._metroSetSetTabPage1.Controls.Add(this._metroSetTile1);\n\t\t\tthis._metroSetSetTabPage1.Controls.Add(this._metroSetLabel4);\n\t\t\tthis._metroSetSetTabPage1.Font = null;\n\t\t\tthis._metroSetSetTabPage1.ImageIndex = 0;\n\t\t\tthis._metroSetSetTabPage1.ImageKey = null;\n\t\t\tthis._metroSetSetTabPage1.IsDerivedStyle = true;\n\t\t\tthis._metroSetSetTabPage1.Location = new System.Drawing.Point(4, 42);\n\t\t\tthis._metroSetSetTabPage1.Name = \"_metroSetSetTabPage1\";\n\t\t\tthis._metroSetSetTabPage1.Size = new System.Drawing.Size(1106, 570);\n\t\t\tthis._metroSetSetTabPage1.Style = MetroSet_UI.Enums.Style.Light;\n\t\t\tthis._metroSetSetTabPage1.StyleManager = this.styleManager1;\n\t\t\tthis._metroSetSetTabPage1.TabIndex = 7;\n\t\t\tthis._metroSetSetTabPage1.Text = \"Tile\";\n\t\t\tthis._metroSetSetTabPage1.ThemeAuthor = \"Narwin\";\n\t\t\tthis._metroSetSetTabPage1.ThemeName = \"MetroLite\";\n\t\t\tthis._metroSetSetTabPage1.ToolTipText = null;\n\t\t\t// \n\t\t\t// _metroSetTile8\n\t\t\t// \n\t\t\tthis._metroSetTile8.DisabledBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(204)))), ((int)(((byte)(204)))), ((int)(((byte)(204)))));\n\t\t\tthis._metroSetTile8.DisabledBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(155)))), ((int)(((byte)(155)))), ((int)(((byte)(155)))));\n\t\t\tthis._metroSetTile8.DisabledForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(136)))), ((int)(((byte)(136)))), ((int)(((byte)(136)))));\n\t\t\tthis._metroSetTile8.Enabled = false;\n\t\t\tthis._metroSetTile8.Font = new System.Drawing.Font(\"Microsoft Sans Serif\", 10F);\n\t\t\tthis._metroSetTile8.HoverBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(230)))), ((int)(((byte)(230)))), ((int)(((byte)(230)))));\n\t\t\tthis._metroSetTile8.HoverColor = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(177)))), ((int)(((byte)(225)))));\n\t\t\tthis._metroSetTile8.HoverTextColor = System.Drawing.Color.White;\n\t\t\tthis._metroSetTile8.IsDerivedStyle = true;\n\t\t\tthis._metroSetTile8.Location = new System.Drawing.Point(732, 259);\n\t\t\tthis._metroSetTile8.Name = \"_metroSetTile8\";\n\t\t\tthis._metroSetTile8.NormalBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(177)))), ((int)(((byte)(225)))));\n\t\t\tthis._metroSetTile8.NormalColor = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(177)))), ((int)(((byte)(225)))));\n\t\t\tthis._metroSetTile8.NormalTextColor = System.Drawing.Color.White;\n\t\t\tthis._metroSetTile8.PressBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(177)))), ((int)(((byte)(225)))));\n\t\t\tthis._metroSetTile8.PressColor = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(177)))), ((int)(((byte)(225)))));\n\t\t\tthis._metroSetTile8.PressTextColor = System.Drawing.Color.White;\n\t\t\tthis._metroSetTile8.Size = new System.Drawing.Size(190, 122);\n\t\t\tthis._metroSetTile8.Style = MetroSet_UI.Enums.Style.Light;\n\t\t\tthis._metroSetTile8.StyleManager = this.styleManager1;\n\t\t\tthis._metroSetTile8.TabIndex = 13;\n\t\t\tthis._metroSetTile8.Text = \"Disabled Tile\";\n\t\t\tthis._metroSetTile8.ThemeAuthor = \"Narwin\";\n\t\t\tthis._metroSetTile8.ThemeName = \"MetroLite\";\n\t\t\tthis._metroSetTile8.TileAlign = MetroSet_UI.Enums.TileAlign.BottomCenter;\n\t\t\t// \n\t\t\t// _metroSetTile4\n\t\t\t// \n\t\t\tthis._metroSetTile4.DisabledBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(204)))), ((int)(((byte)(204)))), ((int)(((byte)(204)))));\n\t\t\tthis._metroSetTile4.DisabledBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(155)))), ((int)(((byte)(155)))), ((int)(((byte)(155)))));\n\t\t\tthis._metroSetTile4.DisabledForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(136)))), ((int)(((byte)(136)))), ((int)(((byte)(136)))));\n\t\t\tthis._metroSetTile4.Font = new System.Drawing.Font(\"Microsoft Sans Serif\", 10F);\n\t\t\tthis._metroSetTile4.HoverBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(230)))), ((int)(((byte)(230)))), ((int)(((byte)(230)))));\n\t\t\tthis._metroSetTile4.HoverColor = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(177)))), ((int)(((byte)(225)))));\n\t\t\tthis._metroSetTile4.HoverTextColor = System.Drawing.Color.White;\n\t\t\tthis._metroSetTile4.IsDerivedStyle = true;\n\t\t\tthis._metroSetTile4.Location = new System.Drawing.Point(732, 104);\n\t\t\tthis._metroSetTile4.Name = \"_metroSetTile4\";\n\t\t\tthis._metroSetTile4.NormalBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(177)))), ((int)(((byte)(225)))));\n\t\t\tthis._metroSetTile4.NormalColor = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(177)))), ((int)(((byte)(225)))));\n\t\t\tthis._metroSetTile4.NormalTextColor = System.Drawing.Color.White;\n\t\t\tthis._metroSetTile4.PressBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(177)))), ((int)(((byte)(225)))));\n\t\t\tthis._metroSetTile4.PressColor = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(177)))), ((int)(((byte)(225)))));\n\t\t\tthis._metroSetTile4.PressTextColor = System.Drawing.Color.White;\n\t\t\tthis._metroSetTile4.Size = new System.Drawing.Size(190, 122);\n\t\t\tthis._metroSetTile4.Style = MetroSet_UI.Enums.Style.Light;\n\t\t\tthis._metroSetTile4.StyleManager = this.styleManager1;\n\t\t\tthis._metroSetTile4.TabIndex = 13;\n\t\t\tthis._metroSetTile4.Text = \"Normal Tile\";\n\t\t\tthis._metroSetTile4.ThemeAuthor = \"Narwin\";\n\t\t\tthis._metroSetTile4.ThemeName = \"MetroLite\";\n\t\t\tthis._metroSetTile4.TileAlign = MetroSet_UI.Enums.TileAlign.TopCenter;\n\t\t\t// \n\t\t\t// _metroSetTile7\n\t\t\t// \n\t\t\tthis._metroSetTile7.BackgroundImage = global::MetroSet_UI_Example.Properties.Resources._111201;\n\t\t\tthis._metroSetTile7.DisabledBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(204)))), ((int)(((byte)(204)))), ((int)(((byte)(204)))));\n\t\t\tthis._metroSetTile7.DisabledBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(155)))), ((int)(((byte)(155)))), ((int)(((byte)(155)))));\n\t\t\tthis._metroSetTile7.DisabledForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(136)))), ((int)(((byte)(136)))), ((int)(((byte)(136)))));\n\t\t\tthis._metroSetTile7.Font = new System.Drawing.Font(\"Microsoft Sans Serif\", 10F);\n\t\t\tthis._metroSetTile7.HoverBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(230)))), ((int)(((byte)(230)))), ((int)(((byte)(230)))));\n\t\t\tthis._metroSetTile7.HoverColor = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(177)))), ((int)(((byte)(225)))));\n\t\t\tthis._metroSetTile7.HoverTextColor = System.Drawing.Color.White;\n\t\t\tthis._metroSetTile7.IsDerivedStyle = true;\n\t\t\tthis._metroSetTile7.Location = new System.Drawing.Point(254, 259);\n\t\t\tthis._metroSetTile7.Name = \"_metroSetTile7\";\n\t\t\tthis._metroSetTile7.NormalBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(177)))), ((int)(((byte)(225)))));\n\t\t\tthis._metroSetTile7.NormalColor = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(177)))), ((int)(((byte)(225)))));\n\t\t\tthis._metroSetTile7.NormalTextColor = System.Drawing.Color.White;\n\t\t\tthis._metroSetTile7.PressBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(177)))), ((int)(((byte)(225)))));\n\t\t\tthis._metroSetTile7.PressColor = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(177)))), ((int)(((byte)(225)))));\n\t\t\tthis._metroSetTile7.PressTextColor = System.Drawing.Color.White;\n\t\t\tthis._metroSetTile7.Size = new System.Drawing.Size(190, 122);\n\t\t\tthis._metroSetTile7.Style = MetroSet_UI.Enums.Style.Light;\n\t\t\tthis._metroSetTile7.StyleManager = this.styleManager1;\n\t\t\tthis._metroSetTile7.TabIndex = 10;\n\t\t\tthis._metroSetTile7.Text = \"TopCenter\";\n\t\t\tthis._metroSetTile7.ThemeAuthor = \"Narwin\";\n\t\t\tthis._metroSetTile7.ThemeName = \"MetroLite\";\n\t\t\tthis._metroSetTile7.TileAlign = MetroSet_UI.Enums.TileAlign.BottomCenter;\n\t\t\t// \n\t\t\t// _metroSetTile6\n\t\t\t// \n\t\t\tthis._metroSetTile6.BackgroundImage = global::MetroSet_UI_Example.Properties.Resources._475841;\n\t\t\tthis._metroSetTile6.DisabledBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(204)))), ((int)(((byte)(204)))), ((int)(((byte)(204)))));\n\t\t\tthis._metroSetTile6.DisabledBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(155)))), ((int)(((byte)(155)))), ((int)(((byte)(155)))));\n\t\t\tthis._metroSetTile6.DisabledForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(136)))), ((int)(((byte)(136)))), ((int)(((byte)(136)))));\n\t\t\tthis._metroSetTile6.Font = new System.Drawing.Font(\"Microsoft Sans Serif\", 10F);\n\t\t\tthis._metroSetTile6.HoverBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(230)))), ((int)(((byte)(230)))), ((int)(((byte)(230)))));\n\t\t\tthis._metroSetTile6.HoverColor = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(177)))), ((int)(((byte)(225)))));\n\t\t\tthis._metroSetTile6.HoverTextColor = System.Drawing.Color.White;\n\t\t\tthis._metroSetTile6.IsDerivedStyle = true;\n\t\t\tthis._metroSetTile6.Location = new System.Drawing.Point(493, 259);\n\t\t\tthis._metroSetTile6.Name = \"_metroSetTile6\";\n\t\t\tthis._metroSetTile6.NormalBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(177)))), ((int)(((byte)(225)))));\n\t\t\tthis._metroSetTile6.NormalColor = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(177)))), ((int)(((byte)(225)))));\n\t\t\tthis._metroSetTile6.NormalTextColor = System.Drawing.Color.White;\n\t\t\tthis._metroSetTile6.PressBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(177)))), ((int)(((byte)(225)))));\n\t\t\tthis._metroSetTile6.PressColor = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(177)))), ((int)(((byte)(225)))));\n\t\t\tthis._metroSetTile6.PressTextColor = System.Drawing.Color.White;\n\t\t\tthis._metroSetTile6.Size = new System.Drawing.Size(190, 122);\n\t\t\tthis._metroSetTile6.Style = MetroSet_UI.Enums.Style.Light;\n\t\t\tthis._metroSetTile6.StyleManager = this.styleManager1;\n\t\t\tthis._metroSetTile6.TabIndex = 11;\n\t\t\tthis._metroSetTile6.Text = \"BottomRight\";\n\t\t\tthis._metroSetTile6.ThemeAuthor = \"Narwin\";\n\t\t\tthis._metroSetTile6.ThemeName = \"MetroLite\";\n\t\t\tthis._metroSetTile6.TileAlign = MetroSet_UI.Enums.TileAlign.BottomRight;\n\t\t\t// \n\t\t\t// _metroSetTile2\n\t\t\t// \n\t\t\tthis._metroSetTile2.BackgroundImage = global::MetroSet_UI_Example.Properties.Resources._579841;\n\t\t\tthis._metroSetTile2.DisabledBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(204)))), ((int)(((byte)(204)))), ((int)(((byte)(204)))));\n\t\t\tthis._metroSetTile2.DisabledBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(155)))), ((int)(((byte)(155)))), ((int)(((byte)(155)))));\n\t\t\tthis._metroSetTile2.DisabledForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(136)))), ((int)(((byte)(136)))), ((int)(((byte)(136)))));\n\t\t\tthis._metroSetTile2.Font = new System.Drawing.Font(\"Microsoft Sans Serif\", 10F);\n\t\t\tthis._metroSetTile2.HoverBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(230)))), ((int)(((byte)(230)))), ((int)(((byte)(230)))));\n\t\t\tthis._metroSetTile2.HoverColor = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(177)))), ((int)(((byte)(225)))));\n\t\t\tthis._metroSetTile2.HoverTextColor = System.Drawing.Color.White;\n\t\t\tthis._metroSetTile2.IsDerivedStyle = true;\n\t\t\tthis._metroSetTile2.Location = new System.Drawing.Point(254, 104);\n\t\t\tthis._metroSetTile2.Name = \"_metroSetTile2\";\n\t\t\tthis._metroSetTile2.NormalBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(177)))), ((int)(((byte)(225)))));\n\t\t\tthis._metroSetTile2.NormalColor = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(177)))), ((int)(((byte)(225)))));\n\t\t\tthis._metroSetTile2.NormalTextColor = System.Drawing.Color.White;\n\t\t\tthis._metroSetTile2.PressBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(177)))), ((int)(((byte)(225)))));\n\t\t\tthis._metroSetTile2.PressColor = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(177)))), ((int)(((byte)(225)))));\n\t\t\tthis._metroSetTile2.PressTextColor = System.Drawing.Color.White;\n\t\t\tthis._metroSetTile2.Size = new System.Drawing.Size(190, 122);\n\t\t\tthis._metroSetTile2.Style = MetroSet_UI.Enums.Style.Light;\n\t\t\tthis._metroSetTile2.StyleManager = this.styleManager1;\n\t\t\tthis._metroSetTile2.TabIndex = 10;\n\t\t\tthis._metroSetTile2.Text = \"TopCenter\";\n\t\t\tthis._metroSetTile2.ThemeAuthor = \"Narwin\";\n\t\t\tthis._metroSetTile2.ThemeName = \"MetroLite\";\n\t\t\tthis._metroSetTile2.TileAlign = MetroSet_UI.Enums.TileAlign.TopCenter;\n\t\t\t// \n\t\t\t// _metroSetTile5\n\t\t\t// \n\t\t\tthis._metroSetTile5.BackgroundImage = global::MetroSet_UI_Example.Properties.Resources._579840;\n\t\t\tthis._metroSetTile5.DisabledBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(204)))), ((int)(((byte)(204)))), ((int)(((byte)(204)))));\n\t\t\tthis._metroSetTile5.DisabledBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(155)))), ((int)(((byte)(155)))), ((int)(((byte)(155)))));\n\t\t\tthis._metroSetTile5.DisabledForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(136)))), ((int)(((byte)(136)))), ((int)(((byte)(136)))));\n\t\t\tthis._metroSetTile5.Font = new System.Drawing.Font(\"Microsoft Sans Serif\", 10F);\n\t\t\tthis._metroSetTile5.HoverBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(230)))), ((int)(((byte)(230)))), ((int)(((byte)(230)))));\n\t\t\tthis._metroSetTile5.HoverColor = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(177)))), ((int)(((byte)(225)))));\n\t\t\tthis._metroSetTile5.HoverTextColor = System.Drawing.Color.White;\n\t\t\tthis._metroSetTile5.IsDerivedStyle = true;\n\t\t\tthis._metroSetTile5.Location = new System.Drawing.Point(493, 104);\n\t\t\tthis._metroSetTile5.Name = \"_metroSetTile5\";\n\t\t\tthis._metroSetTile5.NormalBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(177)))), ((int)(((byte)(225)))));\n\t\t\tthis._metroSetTile5.NormalColor = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(177)))), ((int)(((byte)(225)))));\n\t\t\tthis._metroSetTile5.NormalTextColor = System.Drawing.Color.White;\n\t\t\tthis._metroSetTile5.PressBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(177)))), ((int)(((byte)(225)))));\n\t\t\tthis._metroSetTile5.PressColor = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(177)))), ((int)(((byte)(225)))));\n\t\t\tthis._metroSetTile5.PressTextColor = System.Drawing.Color.White;\n\t\t\tthis._metroSetTile5.Size = new System.Drawing.Size(190, 122);\n\t\t\tthis._metroSetTile5.Style = MetroSet_UI.Enums.Style.Light;\n\t\t\tthis._metroSetTile5.StyleManager = this.styleManager1;\n\t\t\tthis._metroSetTile5.TabIndex = 12;\n\t\t\tthis._metroSetTile5.ThemeAuthor = \"Narwin\";\n\t\t\tthis._metroSetTile5.ThemeName = \"MetroLite\";\n\t\t\tthis._metroSetTile5.TileAlign = MetroSet_UI.Enums.TileAlign.Topleft;\n\t\t\t// \n\t\t\t// _metroSetTile3\n\t\t\t// \n\t\t\tthis._metroSetTile3.BackgroundImage = global::MetroSet_UI_Example.Properties.Resources._475841;\n\t\t\tthis._metroSetTile3.DisabledBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(204)))), ((int)(((byte)(204)))), ((int)(((byte)(204)))));\n\t\t\tthis._metroSetTile3.DisabledBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(155)))), ((int)(((byte)(155)))), ((int)(((byte)(155)))));\n\t\t\tthis._metroSetTile3.DisabledForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(136)))), ((int)(((byte)(136)))), ((int)(((byte)(136)))));\n\t\t\tthis._metroSetTile3.Font = new System.Drawing.Font(\"Microsoft Sans Serif\", 10F);\n\t\t\tthis._metroSetTile3.HoverBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(230)))), ((int)(((byte)(230)))), ((int)(((byte)(230)))));\n\t\t\tthis._metroSetTile3.HoverColor = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(177)))), ((int)(((byte)(225)))));\n\t\t\tthis._metroSetTile3.HoverTextColor = System.Drawing.Color.White;\n\t\t\tthis._metroSetTile3.IsDerivedStyle = true;\n\t\t\tthis._metroSetTile3.Location = new System.Drawing.Point(15, 259);\n\t\t\tthis._metroSetTile3.Name = \"_metroSetTile3\";\n\t\t\tthis._metroSetTile3.NormalBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(177)))), ((int)(((byte)(225)))));\n\t\t\tthis._metroSetTile3.NormalColor = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(177)))), ((int)(((byte)(225)))));\n\t\t\tthis._metroSetTile3.NormalTextColor = System.Drawing.Color.White;\n\t\t\tthis._metroSetTile3.PressBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(177)))), ((int)(((byte)(225)))));\n\t\t\tthis._metroSetTile3.PressColor = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(177)))), ((int)(((byte)(225)))));\n\t\t\tthis._metroSetTile3.PressTextColor = System.Drawing.Color.White;\n\t\t\tthis._metroSetTile3.Size = new System.Drawing.Size(190, 122);\n\t\t\tthis._metroSetTile3.Style = MetroSet_UI.Enums.Style.Light;\n\t\t\tthis._metroSetTile3.StyleManager = this.styleManager1;\n\t\t\tthis._metroSetTile3.TabIndex = 11;\n\t\t\tthis._metroSetTile3.Text = \"BottomRight\";\n\t\t\tthis._metroSetTile3.ThemeAuthor = \"Narwin\";\n\t\t\tthis._metroSetTile3.ThemeName = \"MetroLite\";\n\t\t\tthis._metroSetTile3.TileAlign = MetroSet_UI.Enums.TileAlign.BottomRight;\n\t\t\t// \n\t\t\t// _metroSetTile1\n\t\t\t// \n\t\t\tthis._metroSetTile1.BackgroundImage = global::MetroSet_UI_Example.Properties.Resources._372649;\n\t\t\tthis._metroSetTile1.DisabledBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(204)))), ((int)(((byte)(204)))), ((int)(((byte)(204)))));\n\t\t\tthis._metroSetTile1.DisabledBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(155)))), ((int)(((byte)(155)))), ((int)(((byte)(155)))));\n\t\t\tthis._metroSetTile1.DisabledForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(136)))), ((int)(((byte)(136)))), ((int)(((byte)(136)))));\n\t\t\tthis._metroSetTile1.Font = new System.Drawing.Font(\"Microsoft Sans Serif\", 10F);\n\t\t\tthis._metroSetTile1.HoverBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(230)))), ((int)(((byte)(230)))), ((int)(((byte)(230)))));\n\t\t\tthis._metroSetTile1.HoverColor = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(177)))), ((int)(((byte)(225)))));\n\t\t\tthis._metroSetTile1.HoverTextColor = System.Drawing.Color.White;\n\t\t\tthis._metroSetTile1.IsDerivedStyle = true;\n\t\t\tthis._metroSetTile1.Location = new System.Drawing.Point(15, 104);\n\t\t\tthis._metroSetTile1.Name = \"_metroSetTile1\";\n\t\t\tthis._metroSetTile1.NormalBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(177)))), ((int)(((byte)(225)))));\n\t\t\tthis._metroSetTile1.NormalColor = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(177)))), ((int)(((byte)(225)))));\n\t\t\tthis._metroSetTile1.NormalTextColor = System.Drawing.Color.White;\n\t\t\tthis._metroSetTile1.PressBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(177)))), ((int)(((byte)(225)))));\n\t\t\tthis._metroSetTile1.PressColor = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(177)))), ((int)(((byte)(225)))));\n\t\t\tthis._metroSetTile1.PressTextColor = System.Drawing.Color.White;\n\t\t\tthis._metroSetTile1.Size = new System.Drawing.Size(190, 122);\n\t\t\tthis._metroSetTile1.Style = MetroSet_UI.Enums.Style.Light;\n\t\t\tthis._metroSetTile1.StyleManager = this.styleManager1;\n\t\t\tthis._metroSetTile1.TabIndex = 12;\n\t\t\tthis._metroSetTile1.Text = \"BottmLeft\";\n\t\t\tthis._metroSetTile1.ThemeAuthor = \"Narwin\";\n\t\t\tthis._metroSetTile1.ThemeName = \"MetroLite\";\n\t\t\tthis._metroSetTile1.TileAlign = MetroSet_UI.Enums.TileAlign.Topleft;\n\t\t\t// \n\t\t\t// _metroSetLabel4\n\t\t\t// \n\t\t\tthis._metroSetLabel4.Font = new System.Drawing.Font(\"Microsoft Sans Serif\", 10F);\n\t\t\tthis._metroSetLabel4.IsDerivedStyle = true;\n\t\t\tthis._metroSetLabel4.Location = new System.Drawing.Point(15, 59);\n\t\t\tthis._metroSetLabel4.Name = \"_metroSetLabel4\";\n\t\t\tthis._metroSetLabel4.Size = new System.Drawing.Size(100, 23);\n\t\t\tthis._metroSetLabel4.Style = MetroSet_UI.Enums.Style.Light;\n\t\t\tthis._metroSetLabel4.StyleManager = this.styleManager1;\n\t\t\tthis._metroSetLabel4.TabIndex = 9;\n\t\t\tthis._metroSetLabel4.Text = \"Tile\";\n\t\t\tthis._metroSetLabel4.ThemeAuthor = \"Narwin\";\n\t\t\tthis._metroSetLabel4.ThemeName = \"MetroLite\";\n\t\t\t// \n\t\t\t// _metroSetSetTabPage3\n\t\t\t// \n\t\t\tthis._metroSetSetTabPage3.BaseColor = System.Drawing.Color.White;\n\t\t\tthis._metroSetSetTabPage3.Controls.Add(this._metroSetListBox2);\n\t\t\tthis._metroSetSetTabPage3.Controls.Add(this._metroSetComboBox2);\n\t\t\tthis._metroSetSetTabPage3.Controls.Add(this._metroSetComboBox1);\n\t\t\tthis._metroSetSetTabPage3.Controls.Add(this._metroSetNumeric3);\n\t\t\tthis._metroSetSetTabPage3.Controls.Add(this._metroSetNumeric2);\n\t\t\tthis._metroSetSetTabPage3.Controls.Add(this._metroSetRichTextBox1);\n\t\t\tthis._metroSetSetTabPage3.Controls.Add(this._metroSetTextBox3);\n\t\t\tthis._metroSetSetTabPage3.Controls.Add(this._metroSetTextBox2);\n\t\t\tthis._metroSetSetTabPage3.Controls.Add(this._metroSetTextBox4);\n\t\t\tthis._metroSetSetTabPage3.Controls.Add(this._metroSetTextBox1);\n\t\t\tthis._metroSetSetTabPage3.Controls.Add(this._metroSetLabel8);\n\t\t\tthis._metroSetSetTabPage3.Controls.Add(this._metroSetLabel9);\n\t\t\tthis._metroSetSetTabPage3.Controls.Add(this._metroSetLabel6);\n\t\t\tthis._metroSetSetTabPage3.Controls.Add(this._metroSetLabel7);\n\t\t\tthis._metroSetSetTabPage3.Controls.Add(this._metroSetLabel5);\n\t\t\tthis._metroSetSetTabPage3.Font = null;\n\t\t\tthis._metroSetSetTabPage3.ImageIndex = 0;\n\t\t\tthis._metroSetSetTabPage3.ImageKey = null;\n\t\t\tthis._metroSetSetTabPage3.IsDerivedStyle = true;\n\t\t\tthis._metroSetSetTabPage3.Location = new System.Drawing.Point(4, 42);\n\t\t\tthis._metroSetSetTabPage3.Name = \"_metroSetSetTabPage3\";\n\t\t\tthis._metroSetSetTabPage3.Size = new System.Drawing.Size(1106, 570);\n\t\t\tthis._metroSetSetTabPage3.Style = MetroSet_UI.Enums.Style.Light;\n\t\t\tthis._metroSetSetTabPage3.StyleManager = this.styleManager1;\n\t\t\tthis._metroSetSetTabPage3.TabIndex = 2;\n\t\t\tthis._metroSetSetTabPage3.Text = \"InputBase\";\n\t\t\tthis._metroSetSetTabPage3.ThemeAuthor = \"Narwin\";\n\t\t\tthis._metroSetSetTabPage3.ThemeName = \"MetroLite\";\n\t\t\tthis._metroSetSetTabPage3.ToolTipText = null;\n\t\t\t// \n\t\t\t// _metroSetListBox2\n\t\t\t// \n\t\t\tthis._metroSetListBox2.BackColor = System.Drawing.Color.White;\n\t\t\tthis._metroSetListBox2.BorderColor = System.Drawing.Color.LightGray;\n\t\t\tthis._metroSetListBox2.DisabledBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(204)))), ((int)(((byte)(204)))), ((int)(((byte)(204)))));\n\t\t\tthis._metroSetListBox2.DisabledForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(136)))), ((int)(((byte)(136)))), ((int)(((byte)(136)))));\n\t\t\tthis._metroSetListBox2.Font = new System.Drawing.Font(\"Microsoft Sans Serif\", 10F);\n\t\t\tthis._metroSetListBox2.HoveredItemBackColor = System.Drawing.Color.LightGray;\n\t\t\tthis._metroSetListBox2.HoveredItemColor = System.Drawing.Color.DimGray;\n\t\t\tthis._metroSetListBox2.IsDerivedStyle = true;\n\t\t\tthis._metroSetListBox2.ItemHeight = 30;\n\t\t\tthis._metroSetListBox2.Items.Add(\"ListItem 1\");\n\t\t\tthis._metroSetListBox2.Items.Add(\"ListItem 2\");\n\t\t\tthis._metroSetListBox2.Items.Add(\"ListItem 3\");\n\t\t\tthis._metroSetListBox2.Items.Add(\"ListItem 4\");\n\t\t\tthis._metroSetListBox2.Items.Add(\"ListItem 5\");\n\t\t\tthis._metroSetListBox2.Items.Add(\"ListItem 6\");\n\t\t\tthis._metroSetListBox2.Items.Add(\"ListItem 7\");\n\t\t\tthis._metroSetListBox2.Items.Add(\"ListItem 8\");\n\t\t\tthis._metroSetListBox2.Items.Add(\"ListItem 9\");\n\t\t\tthis._metroSetListBox2.Items.Add(\"ListItem 10\");\n\t\t\tthis._metroSetListBox2.Items.Add(\"ListItem 11\");\n\t\t\tthis._metroSetListBox2.Items.Add(\"ListItem 12\");\n\t\t\tthis._metroSetListBox2.Items.Add(\"ListItem 13\");\n\t\t\tthis._metroSetListBox2.Items.Add(\"ListItem 14\");\n\t\t\tthis._metroSetListBox2.Items.Add(\"ListItem 15\");\n\t\t\tthis._metroSetListBox2.Items.Add(\"ListItem 16\");\n\t\t\tthis._metroSetListBox2.Items.Add(\"ListItem 17\");\n\t\t\tthis._metroSetListBox2.Items.Add(\"ListItem 18\");\n\t\t\tthis._metroSetListBox2.Items.Add(\"ListItem 19\");\n\t\t\tthis._metroSetListBox2.Items.Add(\"ListItem 20\");\n\t\t\tthis._metroSetListBox2.Items.Add(\"ListItem 21\");\n\t\t\tthis._metroSetListBox2.Items.Add(\"ListItem 22\");\n\t\t\tthis._metroSetListBox2.Items.Add(\"ListItem 23\");\n\t\t\tthis._metroSetListBox2.Items.Add(\"ListItem 24\");\n\t\t\tthis._metroSetListBox2.Items.Add(\"ListItem 25\");\n\t\t\tthis._metroSetListBox2.Items.Add(\"ListItem 26\");\n\t\t\tthis._metroSetListBox2.Items.Add(\"ListItem 27\");\n\t\t\tthis._metroSetListBox2.Items.Add(\"ListItem 28\");\n\t\t\tthis._metroSetListBox2.Items.Add(\"ListItem 29\");\n\t\t\tthis._metroSetListBox2.Items.Add(\"ListItem 30\");\n\t\t\tthis._metroSetListBox2.Items.Add(\"ListItem 31\");\n\t\t\tthis._metroSetListBox2.Items.Add(\"ListItem 32\");\n\t\t\tthis._metroSetListBox2.Items.Add(\"ListItem 33\");\n\t\t\tthis._metroSetListBox2.Items.Add(\"ListItem 34\");\n\t\t\tthis._metroSetListBox2.Items.Add(\"ListItem 35\");\n\t\t\tthis._metroSetListBox2.Items.Add(\"ListItem 36\");\n\t\t\tthis._metroSetListBox2.Items.Add(\"ListItem 37\");\n\t\t\tthis._metroSetListBox2.Items.Add(\"ListItem 38\");\n\t\t\tthis._metroSetListBox2.Items.Add(\"ListItem 39\");\n\t\t\tthis._metroSetListBox2.Items.Add(\"ListItem 40\");\n\t\t\tthis._metroSetListBox2.Items.Add(\"ListItem 41\");\n\t\t\tthis._metroSetListBox2.Items.Add(\"ListItem 42\");\n\t\t\tthis._metroSetListBox2.Items.Add(\"ListItem 43\");\n\t\t\tthis._metroSetListBox2.Items.Add(\"ListItem 44\");\n\t\t\tthis._metroSetListBox2.Items.Add(\"ListItem 45\");\n\t\t\tthis._metroSetListBox2.Items.Add(\"ListItem 46\");\n\t\t\tthis._metroSetListBox2.Items.Add(\"ListItem 47\");\n\t\t\tthis._metroSetListBox2.Items.Add(\"ListItem 48\");\n\t\t\tthis._metroSetListBox2.Items.Add(\"ListItem 49\");\n\t\t\tthis._metroSetListBox2.Items.Add(\"ListItem 50\");\n\t\t\tthis._metroSetListBox2.Items.Add(\"ListItem 51\");\n\t\t\tthis._metroSetListBox2.Items.Add(\"ListItem 52\");\n\t\t\tthis._metroSetListBox2.Items.Add(\"ListItem 53\");\n\t\t\tthis._metroSetListBox2.Items.Add(\"ListItem 54\");\n\t\t\tthis._metroSetListBox2.Items.Add(\"ListItem 55\");\n\t\t\tthis._metroSetListBox2.Items.Add(\"ListItem 56\");\n\t\t\tthis._metroSetListBox2.Items.Add(\"ListItem 57\");\n\t\t\tthis._metroSetListBox2.Items.Add(\"ListItem 58\");\n\t\t\tthis._metroSetListBox2.Items.Add(\"ListItem 59\");\n\t\t\tthis._metroSetListBox2.Items.Add(\"ListItem 60\");\n\t\t\tthis._metroSetListBox2.Items.Add(\"ListItem 61\");\n\t\t\tthis._metroSetListBox2.Items.Add(\"ListItem 62\");\n\t\t\tthis._metroSetListBox2.Items.Add(\"ListItem 63\");\n\t\t\tthis._metroSetListBox2.Items.Add(\"ListItem 64\");\n\t\t\tthis._metroSetListBox2.Items.Add(\"ListItem 65\");\n\t\t\tthis._metroSetListBox2.Items.Add(\"ListItem 66\");\n\t\t\tthis._metroSetListBox2.Items.Add(\"ListItem 67\");\n\t\t\tthis._metroSetListBox2.Items.Add(\"ListItem 68\");\n\t\t\tthis._metroSetListBox2.Items.Add(\"ListItem 69\");\n\t\t\tthis._metroSetListBox2.Items.Add(\"ListItem 70\");\n\t\t\tthis._metroSetListBox2.Items.Add(\"ListItem 71\");\n\t\t\tthis._metroSetListBox2.Items.Add(\"ListItem 72\");\n\t\t\tthis._metroSetListBox2.Items.Add(\"ListItem 73\");\n\t\t\tthis._metroSetListBox2.Items.Add(\"ListItem 74\");\n\t\t\tthis._metroSetListBox2.Items.Add(\"ListItem 75\");\n\t\t\tthis._metroSetListBox2.Items.Add(\"ListItem 76\");\n\t\t\tthis._metroSetListBox2.Items.Add(\"ListItem 77\");\n\t\t\tthis._metroSetListBox2.Items.Add(\"ListItem 78\");\n\t\t\tthis._metroSetListBox2.Items.Add(\"ListItem 79\");\n\t\t\tthis._metroSetListBox2.Items.Add(\"ListItem 80\");\n\t\t\tthis._metroSetListBox2.Items.Add(\"ListItem 81\");\n\t\t\tthis._metroSetListBox2.Items.Add(\"ListItem 82\");\n\t\t\tthis._metroSetListBox2.Items.Add(\"ListItem 83\");\n\t\t\tthis._metroSetListBox2.Items.Add(\"ListItem 84\");\n\t\t\tthis._metroSetListBox2.Items.Add(\"ListItem 85\");\n\t\t\tthis._metroSetListBox2.Items.Add(\"ListItem 86\");\n\t\t\tthis._metroSetListBox2.Items.Add(\"ListItem 87\");\n\t\t\tthis._metroSetListBox2.Items.Add(\"ListItem 88\");\n\t\t\tthis._metroSetListBox2.Items.Add(\"ListItem 89\");\n\t\t\tthis._metroSetListBox2.Items.Add(\"ListItem 90\");\n\t\t\tthis._metroSetListBox2.Items.Add(\"ListItem 91\");\n\t\t\tthis._metroSetListBox2.Items.Add(\"ListItem 92\");\n\t\t\tthis._metroSetListBox2.Items.Add(\"ListItem 93\");\n\t\t\tthis._metroSetListBox2.Items.Add(\"ListItem 94\");\n\t\t\tthis._metroSetListBox2.Items.Add(\"ListItem 95\");\n\t\t\tthis._metroSetListBox2.Items.Add(\"ListItem 96\");\n\t\t\tthis._metroSetListBox2.Items.Add(\"ListItem 97\");\n\t\t\tthis._metroSetListBox2.Items.Add(\"ListItem 98\");\n\t\t\tthis._metroSetListBox2.Items.Add(\"ListItem 99\");\n\t\t\tthis._metroSetListBox2.Items.Add(\"ListItem 100\");\n\t\t\tthis._metroSetListBox2.Location = new System.Drawing.Point(635, 82);\n\t\t\tthis._metroSetListBox2.MultiSelect = false;\n\t\t\tthis._metroSetListBox2.Name = \"_metroSetListBox2\";\n\t\t\tthis._metroSetListBox2.SelectedIndex = -1;\n\t\t\tthis._metroSetListBox2.SelectedItem = null;\n\t\t\tthis._metroSetListBox2.SelectedItemBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(177)))), ((int)(((byte)(225)))));\n\t\t\tthis._metroSetListBox2.SelectedItemColor = System.Drawing.Color.White;\n\t\t\tthis._metroSetListBox2.SelectedText = null;\n\t\t\tthis._metroSetListBox2.SelectedValue = null;\n\t\t\tthis._metroSetListBox2.ShowBorder = false;\n\t\t\tthis._metroSetListBox2.ShowScrollBar = true;\n\t\t\tthis._metroSetListBox2.Size = new System.Drawing.Size(374, 286);\n\t\t\tthis._metroSetListBox2.Style = MetroSet_UI.Enums.Style.Light;\n\t\t\tthis._metroSetListBox2.StyleManager = this.styleManager1;\n\t\t\tthis._metroSetListBox2.TabIndex = 9;\n\t\t\tthis._metroSetListBox2.ThemeAuthor = \"Narwin\";\n\t\t\tthis._metroSetListBox2.ThemeName = \"MetroLite\";\n\t\t\tthis._metroSetListBox2.SelectedIndexChanged += new MetroSet_UI.Controls.MetroSetListBox.SelectedIndexChangedEventHandler(this.metroSetListBox2_SelectedIndexChanged);\n\t\t\t// \n\t\t\t// _metroSetComboBox2\n\t\t\t// \n\t\t\tthis._metroSetComboBox2.AllowDrop = true;\n\t\t\tthis._metroSetComboBox2.ArrowColor = System.Drawing.Color.FromArgb(((int)(((byte)(150)))), ((int)(((byte)(150)))), ((int)(((byte)(150)))));\n\t\t\tthis._metroSetComboBox2.BackColor = System.Drawing.Color.Transparent;\n\t\t\tthis._metroSetComboBox2.BackgroundColor = System.Drawing.Color.FromArgb(((int)(((byte)(238)))), ((int)(((byte)(238)))), ((int)(((byte)(238)))));\n\t\t\tthis._metroSetComboBox2.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(150)))), ((int)(((byte)(150)))), ((int)(((byte)(150)))));\n\t\t\tthis._metroSetComboBox2.CausesValidation = false;\n\t\t\tthis._metroSetComboBox2.DisabledBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(204)))), ((int)(((byte)(204)))), ((int)(((byte)(204)))));\n\t\t\tthis._metroSetComboBox2.DisabledBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(155)))), ((int)(((byte)(155)))), ((int)(((byte)(155)))));\n\t\t\tthis._metroSetComboBox2.DisabledForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(136)))), ((int)(((byte)(136)))), ((int)(((byte)(136)))));\n\t\t\tthis._metroSetComboBox2.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawFixed;\n\t\t\tthis._metroSetComboBox2.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;\n\t\t\tthis._metroSetComboBox2.Enabled = false;\n\t\t\tthis._metroSetComboBox2.Font = new System.Drawing.Font(\"Microsoft Sans Serif\", 11F);\n\t\t\tthis._metroSetComboBox2.FormattingEnabled = true;\n\t\t\tthis._metroSetComboBox2.IsDerivedStyle = true;\n\t\t\tthis._metroSetComboBox2.ItemHeight = 20;\n\t\t\tthis._metroSetComboBox2.Location = new System.Drawing.Point(305, 342);\n\t\t\tthis._metroSetComboBox2.Name = \"_metroSetComboBox2\";\n\t\t\tthis._metroSetComboBox2.SelectedItemBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(177)))), ((int)(((byte)(225)))));\n\t\t\tthis._metroSetComboBox2.SelectedItemForeColor = System.Drawing.Color.White;\n\t\t\tthis._metroSetComboBox2.Size = new System.Drawing.Size(215, 26);\n\t\t\tthis._metroSetComboBox2.Style = MetroSet_UI.Enums.Style.Light;\n\t\t\tthis._metroSetComboBox2.StyleManager = this.styleManager1;\n\t\t\tthis._metroSetComboBox2.TabIndex = 7;\n\t\t\tthis._metroSetComboBox2.ThemeAuthor = \"Narwin\";\n\t\t\tthis._metroSetComboBox2.ThemeName = \"MetroLite\";\n\t\t\t// \n\t\t\t// _metroSetComboBox1\n\t\t\t// \n\t\t\tthis._metroSetComboBox1.AllowDrop = true;\n\t\t\tthis._metroSetComboBox1.ArrowColor = System.Drawing.Color.FromArgb(((int)(((byte)(150)))), ((int)(((byte)(150)))), ((int)(((byte)(150)))));\n\t\t\tthis._metroSetComboBox1.BackColor = System.Drawing.Color.Transparent;\n\t\t\tthis._metroSetComboBox1.BackgroundColor = System.Drawing.Color.FromArgb(((int)(((byte)(238)))), ((int)(((byte)(238)))), ((int)(((byte)(238)))));\n\t\t\tthis._metroSetComboBox1.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(150)))), ((int)(((byte)(150)))), ((int)(((byte)(150)))));\n\t\t\tthis._metroSetComboBox1.CausesValidation = false;\n\t\t\tthis._metroSetComboBox1.DisabledBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(204)))), ((int)(((byte)(204)))), ((int)(((byte)(204)))));\n\t\t\tthis._metroSetComboBox1.DisabledBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(155)))), ((int)(((byte)(155)))), ((int)(((byte)(155)))));\n\t\t\tthis._metroSetComboBox1.DisabledForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(136)))), ((int)(((byte)(136)))), ((int)(((byte)(136)))));\n\t\t\tthis._metroSetComboBox1.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawFixed;\n\t\t\tthis._metroSetComboBox1.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;\n\t\t\tthis._metroSetComboBox1.Font = new System.Drawing.Font(\"Microsoft Sans Serif\", 11F);\n\t\t\tthis._metroSetComboBox1.FormattingEnabled = true;\n\t\t\tthis._metroSetComboBox1.IsDerivedStyle = true;\n\t\t\tthis._metroSetComboBox1.ItemHeight = 20;\n\t\t\tthis._metroSetComboBox1.Items.AddRange(new object[] {\n\t\t\t\"ListItem 1\",\n\t\t\t\"ListItem 2\",\n\t\t\t\"ListItem 3\",\n\t\t\t\"ListItem 4\",\n\t\t\t\"ListItem 5\",\n\t\t\t\"ListItem 6\",\n\t\t\t\"ListItem 7\",\n\t\t\t\"ListItem 8\",\n\t\t\t\"ListItem 9\",\n\t\t\t\"ListItem 10\",\n\t\t\t\"ListItem 11\",\n\t\t\t\"ListItem 12\",\n\t\t\t\"ListItem 13\",\n\t\t\t\"ListItem 14\",\n\t\t\t\"ListItem 15\",\n\t\t\t\"ListItem 16\",\n\t\t\t\"ListItem 17\",\n\t\t\t\"ListItem 18\",\n\t\t\t\"ListItem 19\",\n\t\t\t\"ListItem 20\",\n\t\t\t\"ListItem 21\",\n\t\t\t\"ListItem 22\",\n\t\t\t\"ListItem 23\",\n\t\t\t\"ListItem 24\",\n\t\t\t\"ListItem 25\",\n\t\t\t\"ListItem 26\",\n\t\t\t\"ListItem 27\",\n\t\t\t\"ListItem 28\",\n\t\t\t\"ListItem 29\",\n\t\t\t\"ListItem 30\",\n\t\t\t\"ListItem 31\",\n\t\t\t\"ListItem 32\",\n\t\t\t\"ListItem 33\",\n\t\t\t\"ListItem 34\",\n\t\t\t\"ListItem 35\",\n\t\t\t\"ListItem 36\",\n\t\t\t\"ListItem 37\",\n\t\t\t\"ListItem 38\",\n\t\t\t\"ListItem 39\",\n\t\t\t\"ListItem 40\",\n\t\t\t\"ListItem 41\",\n\t\t\t\"ListItem 42\",\n\t\t\t\"ListItem 43\",\n\t\t\t\"ListItem 44\",\n\t\t\t\"ListItem 45\",\n\t\t\t\"ListItem 46\",\n\t\t\t\"ListItem 47\",\n\t\t\t\"ListItem 48\",\n\t\t\t\"ListItem 49\",\n\t\t\t\"ListItem 50\",\n\t\t\t\"ListItem 51\",\n\t\t\t\"ListItem 52\",\n\t\t\t\"ListItem 53\",\n\t\t\t\"ListItem 54\",\n\t\t\t\"ListItem 55\",\n\t\t\t\"ListItem 56\",\n\t\t\t\"ListItem 57\",\n\t\t\t\"ListItem 58\",\n\t\t\t\"ListItem 59\",\n\t\t\t\"ListItem 60\",\n\t\t\t\"ListItem 61\",\n\t\t\t\"ListItem 62\",\n\t\t\t\"ListItem 63\",\n\t\t\t\"ListItem 64\",\n\t\t\t\"ListItem 65\",\n\t\t\t\"ListItem 66\",\n\t\t\t\"ListItem 67\",\n\t\t\t\"ListItem 68\",\n\t\t\t\"ListItem 69\",\n\t\t\t\"ListItem 70\",\n\t\t\t\"ListItem 71\",\n\t\t\t\"ListItem 72\",\n\t\t\t\"ListItem 73\",\n\t\t\t\"ListItem 74\",\n\t\t\t\"ListItem 75\",\n\t\t\t\"ListItem 76\",\n\t\t\t\"ListItem 77\",\n\t\t\t\"ListItem 78\",\n\t\t\t\"ListItem 79\",\n\t\t\t\"ListItem 80\",\n\t\t\t\"ListItem 81\",\n\t\t\t\"ListItem 82\",\n\t\t\t\"ListItem 83\",\n\t\t\t\"ListItem 84\",\n\t\t\t\"ListItem 85\",\n\t\t\t\"ListItem 86\",\n\t\t\t\"ListItem 87\",\n\t\t\t\"ListItem 88\",\n\t\t\t\"ListItem 89\",\n\t\t\t\"ListItem 90\",\n\t\t\t\"ListItem 91\",\n\t\t\t\"ListItem 92\",\n\t\t\t\"ListItem 93\",\n\t\t\t\"ListItem 94\",\n\t\t\t\"ListItem 95\",\n\t\t\t\"ListItem 96\",\n\t\t\t\"ListItem 97\",\n\t\t\t\"ListItem 98\",\n\t\t\t\"ListItem 99\",\n\t\t\t\"ListItem 100\"});\n\t\t\tthis._metroSetComboBox1.Location = new System.Drawing.Point(305, 292);\n\t\t\tthis._metroSetComboBox1.Name = \"_metroSetComboBox1\";\n\t\t\tthis._metroSetComboBox1.SelectedItemBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(177)))), ((int)(((byte)(225)))));\n\t\t\tthis._metroSetComboBox1.SelectedItemForeColor = System.Drawing.Color.White;\n\t\t\tthis._metroSetComboBox1.Size = new System.Drawing.Size(215, 26);\n\t\t\tthis._metroSetComboBox1.Style = MetroSet_UI.Enums.Style.Light;\n\t\t\tthis._metroSetComboBox1.StyleManager = this.styleManager1;\n\t\t\tthis._metroSetComboBox1.TabIndex = 7;\n\t\t\tthis._metroSetComboBox1.ThemeAuthor = \"Narwin\";\n\t\t\tthis._metroSetComboBox1.ThemeName = \"MetroLite\";\n\t\t\tthis._metroSetSetToolTip1.SetToolTip(this._metroSetComboBox1, \"MetroSetComboBox\");\n\t\t\t// \n\t\t\t// _metroSetNumeric3\n\t\t\t// \n\t\t\tthis._metroSetNumeric3.BackColor = System.Drawing.Color.Transparent;\n\t\t\tthis._metroSetNumeric3.BackgroundColor = System.Drawing.Color.Empty;\n\t\t\tthis._metroSetNumeric3.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(150)))), ((int)(((byte)(150)))), ((int)(((byte)(150)))));\n\t\t\tthis._metroSetNumeric3.DisabledBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(204)))), ((int)(((byte)(204)))), ((int)(((byte)(204)))));\n\t\t\tthis._metroSetNumeric3.DisabledBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(155)))), ((int)(((byte)(155)))), ((int)(((byte)(155)))));\n\t\t\tthis._metroSetNumeric3.DisabledForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(136)))), ((int)(((byte)(136)))), ((int)(((byte)(136)))));\n\t\t\tthis._metroSetNumeric3.Font = new System.Drawing.Font(\"Microsoft Sans Serif\", 10F);\n\t\t\tthis._metroSetNumeric3.IsDerivedStyle = true;\n\t\t\tthis._metroSetNumeric3.Location = new System.Drawing.Point(15, 426);\n\t\t\tthis._metroSetNumeric3.Maximum = 100;\n\t\t\tthis._metroSetNumeric3.Minimum = 0;\n\t\t\tthis._metroSetNumeric3.Name = \"_metroSetNumeric3\";\n\t\t\tthis._metroSetNumeric3.Size = new System.Drawing.Size(215, 26);\n\t\t\tthis._metroSetNumeric3.Style = MetroSet_UI.Enums.Style.Light;\n\t\t\tthis._metroSetNumeric3.StyleManager = this.styleManager1;\n\t\t\tthis._metroSetNumeric3.SymbolsColor = System.Drawing.Color.FromArgb(((int)(((byte)(128)))), ((int)(((byte)(128)))), ((int)(((byte)(128)))));\n\t\t\tthis._metroSetNumeric3.TabIndex = 6;\n\t\t\tthis._metroSetNumeric3.Text = \"_metroSetNumeric3\";\n\t\t\tthis._metroSetNumeric3.ThemeAuthor = \"Narwin\";\n\t\t\tthis._metroSetNumeric3.ThemeName = \"MetroLite\";\n\t\t\tthis._metroSetNumeric3.Value = 5;\n\t\t\t// \n\t\t\t// _metroSetNumeric2\n\t\t\t// \n\t\t\tthis._metroSetNumeric2.BackColor = System.Drawing.Color.Transparent;\n\t\t\tthis._metroSetNumeric2.BackgroundColor = System.Drawing.Color.Empty;\n\t\t\tthis._metroSetNumeric2.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(150)))), ((int)(((byte)(150)))), ((int)(((byte)(150)))));\n\t\t\tthis._metroSetNumeric2.DisabledBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(204)))), ((int)(((byte)(204)))), ((int)(((byte)(204)))));\n\t\t\tthis._metroSetNumeric2.DisabledBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(155)))), ((int)(((byte)(155)))), ((int)(((byte)(155)))));\n\t\t\tthis._metroSetNumeric2.DisabledForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(136)))), ((int)(((byte)(136)))), ((int)(((byte)(136)))));\n\t\t\tthis._metroSetNumeric2.Enabled = false;\n\t\t\tthis._metroSetNumeric2.Font = new System.Drawing.Font(\"Microsoft Sans Serif\", 10F);\n\t\t\tthis._metroSetNumeric2.IsDerivedStyle = true;\n\t\t\tthis._metroSetNumeric2.Location = new System.Drawing.Point(15, 476);\n\t\t\tthis._metroSetNumeric2.Maximum = 100;\n\t\t\tthis._metroSetNumeric2.Minimum = 0;\n\t\t\tthis._metroSetNumeric2.Name = \"_metroSetNumeric2\";\n\t\t\tthis._metroSetNumeric2.Size = new System.Drawing.Size(215, 26);\n\t\t\tthis._metroSetNumeric2.Style = MetroSet_UI.Enums.Style.Light;\n\t\t\tthis._metroSetNumeric2.StyleManager = this.styleManager1;\n\t\t\tthis._metroSetNumeric2.SymbolsColor = System.Drawing.Color.FromArgb(((int)(((byte)(128)))), ((int)(((byte)(128)))), ((int)(((byte)(128)))));\n\t\t\tthis._metroSetNumeric2.TabIndex = 5;\n\t\t\tthis._metroSetNumeric2.Text = \"metroSetNumeric1\";\n\t\t\tthis._metroSetNumeric2.ThemeAuthor = \"Narwin\";\n\t\t\tthis._metroSetNumeric2.ThemeName = \"MetroLite\";\n\t\t\tthis._metroSetNumeric2.Value = 0;\n\t\t\t// \n\t\t\t// _metroSetRichTextBox1\n\t\t\t// \n\t\t\tthis._metroSetRichTextBox1.AutoWordSelection = false;\n\t\t\tthis._metroSetRichTextBox1.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(155)))), ((int)(((byte)(155)))), ((int)(((byte)(155)))));\n\t\t\tthis._metroSetRichTextBox1.DisabledBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(204)))), ((int)(((byte)(204)))), ((int)(((byte)(204)))));\n\t\t\tthis._metroSetRichTextBox1.DisabledBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(155)))), ((int)(((byte)(155)))), ((int)(((byte)(155)))));\n\t\t\tthis._metroSetRichTextBox1.DisabledForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(136)))), ((int)(((byte)(136)))), ((int)(((byte)(136)))));\n\t\t\tthis._metroSetRichTextBox1.Font = new System.Drawing.Font(\"Microsoft Sans Serif\", 10F);\n\t\t\tthis._metroSetRichTextBox1.HoverColor = System.Drawing.Color.FromArgb(((int)(((byte)(102)))), ((int)(((byte)(102)))), ((int)(((byte)(102)))));\n\t\t\tthis._metroSetRichTextBox1.IsDerivedStyle = true;\n\t\t\tthis._metroSetRichTextBox1.Lines = null;\n\t\t\tthis._metroSetRichTextBox1.Location = new System.Drawing.Point(305, 93);\n\t\t\tthis._metroSetRichTextBox1.MaxLength = 32767;\n\t\t\tthis._metroSetRichTextBox1.Name = \"_metroSetRichTextBox1\";\n\t\t\tthis._metroSetRichTextBox1.ReadOnly = false;\n\t\t\tthis._metroSetRichTextBox1.Size = new System.Drawing.Size(245, 138);\n\t\t\tthis._metroSetRichTextBox1.Style = MetroSet_UI.Enums.Style.Light;\n\t\t\tthis._metroSetRichTextBox1.StyleManager = this.styleManager1;\n\t\t\tthis._metroSetRichTextBox1.TabIndex = 4;\n\t\t\tthis._metroSetRichTextBox1.Text = resources.GetString(\"_metroSetRichTextBox1.Text\");\n\t\t\tthis._metroSetRichTextBox1.ThemeAuthor = \"Narwin\";\n\t\t\tthis._metroSetRichTextBox1.ThemeName = \"MetroLite\";\n\t\t\tthis._metroSetRichTextBox1.WordWrap = true;\n\t\t\t// \n\t\t\t// _metroSetTextBox3\n\t\t\t// \n\t\t\tthis._metroSetTextBox3.AutoCompleteCustomSource = null;\n\t\t\tthis._metroSetTextBox3.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.None;\n\t\t\tthis._metroSetTextBox3.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.None;\n\t\t\tthis._metroSetTextBox3.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(155)))), ((int)(((byte)(155)))), ((int)(((byte)(155)))));\n\t\t\tthis._metroSetTextBox3.DisabledBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(204)))), ((int)(((byte)(204)))), ((int)(((byte)(204)))));\n\t\t\tthis._metroSetTextBox3.DisabledBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(155)))), ((int)(((byte)(155)))), ((int)(((byte)(155)))));\n\t\t\tthis._metroSetTextBox3.DisabledForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(136)))), ((int)(((byte)(136)))), ((int)(((byte)(136)))));\n\t\t\tthis._metroSetTextBox3.Font = new System.Drawing.Font(\"Microsoft Sans Serif\", 10F);\n\t\t\tthis._metroSetTextBox3.HoverColor = System.Drawing.Color.FromArgb(((int)(((byte)(102)))), ((int)(((byte)(102)))), ((int)(((byte)(102)))));\n\t\t\tthis._metroSetTextBox3.Image = null;\n\t\t\tthis._metroSetTextBox3.IsDerivedStyle = true;\n\t\t\tthis._metroSetTextBox3.Lines = null;\n\t\t\tthis._metroSetTextBox3.Location = new System.Drawing.Point(15, 230);\n\t\t\tthis._metroSetTextBox3.MaxLength = 32767;\n\t\t\tthis._metroSetTextBox3.Multiline = true;\n\t\t\tthis._metroSetTextBox3.Name = \"_metroSetTextBox3\";\n\t\t\tthis._metroSetTextBox3.ReadOnly = false;\n\t\t\tthis._metroSetTextBox3.Size = new System.Drawing.Size(215, 138);\n\t\t\tthis._metroSetTextBox3.Style = MetroSet_UI.Enums.Style.Light;\n\t\t\tthis._metroSetTextBox3.StyleManager = this.styleManager1;\n\t\t\tthis._metroSetTextBox3.TabIndex = 3;\n\t\t\tthis._metroSetTextBox3.Text = resources.GetString(\"_metroSetTextBox3.Text\");\n\t\t\tthis._metroSetTextBox3.TextAlign = System.Windows.Forms.HorizontalAlignment.Left;\n\t\t\tthis._metroSetTextBox3.ThemeAuthor = \"Narwin\";\n\t\t\tthis._metroSetTextBox3.ThemeName = \"MetroLite\";\n\t\t\tthis._metroSetTextBox3.UseSystemPasswordChar = false;\n\t\t\tthis._metroSetTextBox3.WatermarkText = \"\";\n\t\t\t// \n\t\t\t// _metroSetTextBox2\n\t\t\t// \n\t\t\tthis._metroSetTextBox2.AutoCompleteCustomSource = null;\n\t\t\tthis._metroSetTextBox2.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.None;\n\t\t\tthis._metroSetTextBox2.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.None;\n\t\t\tthis._metroSetTextBox2.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(155)))), ((int)(((byte)(155)))), ((int)(((byte)(155)))));\n\t\t\tthis._metroSetTextBox2.DisabledBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(204)))), ((int)(((byte)(204)))), ((int)(((byte)(204)))));\n\t\t\tthis._metroSetTextBox2.DisabledBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(155)))), ((int)(((byte)(155)))), ((int)(((byte)(155)))));\n\t\t\tthis._metroSetTextBox2.DisabledForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(136)))), ((int)(((byte)(136)))), ((int)(((byte)(136)))));\n\t\t\tthis._metroSetTextBox2.Enabled = false;\n\t\t\tthis._metroSetTextBox2.Font = new System.Drawing.Font(\"Microsoft Sans Serif\", 10F);\n\t\t\tthis._metroSetTextBox2.HoverColor = System.Drawing.Color.FromArgb(((int)(((byte)(102)))), ((int)(((byte)(102)))), ((int)(((byte)(102)))));\n\t\t\tthis._metroSetTextBox2.Image = null;\n\t\t\tthis._metroSetTextBox2.IsDerivedStyle = true;\n\t\t\tthis._metroSetTextBox2.Lines = null;\n\t\t\tthis._metroSetTextBox2.Location = new System.Drawing.Point(15, 185);\n\t\t\tthis._metroSetTextBox2.MaxLength = 32767;\n\t\t\tthis._metroSetTextBox2.Multiline = false;\n\t\t\tthis._metroSetTextBox2.Name = \"_metroSetTextBox2\";\n\t\t\tthis._metroSetTextBox2.ReadOnly = false;\n\t\t\tthis._metroSetTextBox2.Size = new System.Drawing.Size(215, 26);\n\t\t\tthis._metroSetTextBox2.Style = MetroSet_UI.Enums.Style.Light;\n\t\t\tthis._metroSetTextBox2.StyleManager = this.styleManager1;\n\t\t\tthis._metroSetTextBox2.TabIndex = 3;\n\t\t\tthis._metroSetTextBox2.TextAlign = System.Windows.Forms.HorizontalAlignment.Left;\n\t\t\tthis._metroSetTextBox2.ThemeAuthor = \"Narwin\";\n\t\t\tthis._metroSetTextBox2.ThemeName = \"MetroLite\";\n\t\t\tthis._metroSetTextBox2.UseSystemPasswordChar = false;\n\t\t\tthis._metroSetTextBox2.WatermarkText = \"Disabled TextBox\";\n\t\t\t// \n\t\t\t// _metroSetTextBox4\n\t\t\t// \n\t\t\tthis._metroSetTextBox4.AutoCompleteCustomSource = null;\n\t\t\tthis._metroSetTextBox4.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.None;\n\t\t\tthis._metroSetTextBox4.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.None;\n\t\t\tthis._metroSetTextBox4.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(155)))), ((int)(((byte)(155)))), ((int)(((byte)(155)))));\n\t\t\tthis._metroSetTextBox4.DisabledBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(204)))), ((int)(((byte)(204)))), ((int)(((byte)(204)))));\n\t\t\tthis._metroSetTextBox4.DisabledBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(155)))), ((int)(((byte)(155)))), ((int)(((byte)(155)))));\n\t\t\tthis._metroSetTextBox4.DisabledForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(136)))), ((int)(((byte)(136)))), ((int)(((byte)(136)))));\n\t\t\tthis._metroSetTextBox4.Font = new System.Drawing.Font(\"Microsoft Sans Serif\", 10F);\n\t\t\tthis._metroSetTextBox4.HoverColor = System.Drawing.Color.FromArgb(((int)(((byte)(102)))), ((int)(((byte)(102)))), ((int)(((byte)(102)))));\n\t\t\tthis._metroSetTextBox4.Image = global::MetroSet_UI_Example.Properties.Resources.filter;\n\t\t\tthis._metroSetTextBox4.IsDerivedStyle = true;\n\t\t\tthis._metroSetTextBox4.Lines = null;\n\t\t\tthis._metroSetTextBox4.Location = new System.Drawing.Point(15, 139);\n\t\t\tthis._metroSetTextBox4.MaxLength = 32767;\n\t\t\tthis._metroSetTextBox4.Multiline = false;\n\t\t\tthis._metroSetTextBox4.Name = \"_metroSetTextBox4\";\n\t\t\tthis._metroSetTextBox4.ReadOnly = false;\n\t\t\tthis._metroSetTextBox4.Size = new System.Drawing.Size(215, 26);\n\t\t\tthis._metroSetTextBox4.Style = MetroSet_UI.Enums.Style.Light;\n\t\t\tthis._metroSetTextBox4.StyleManager = this.styleManager1;\n\t\t\tthis._metroSetTextBox4.TabIndex = 3;\n\t\t\tthis._metroSetTextBox4.TextAlign = System.Windows.Forms.HorizontalAlignment.Left;\n\t\t\tthis._metroSetTextBox4.ThemeAuthor = \"Narwin\";\n\t\t\tthis._metroSetTextBox4.ThemeName = \"MetroLite\";\n\t\t\tthis._metroSetTextBox4.UseSystemPasswordChar = false;\n\t\t\tthis._metroSetTextBox4.WatermarkText = \"Image TextBox\";\n\t\t\t// \n\t\t\t// _metroSetTextBox1\n\t\t\t// \n\t\t\tthis._metroSetTextBox1.AutoCompleteCustomSource = null;\n\t\t\tthis._metroSetTextBox1.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.None;\n\t\t\tthis._metroSetTextBox1.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.None;\n\t\t\tthis._metroSetTextBox1.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(155)))), ((int)(((byte)(155)))), ((int)(((byte)(155)))));\n\t\t\tthis._metroSetTextBox1.ContextMenuStrip = this._metroSetContextMenuStrip1;\n\t\t\tthis._metroSetTextBox1.DisabledBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(204)))), ((int)(((byte)(204)))), ((int)(((byte)(204)))));\n\t\t\tthis._metroSetTextBox1.DisabledBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(155)))), ((int)(((byte)(155)))), ((int)(((byte)(155)))));\n\t\t\tthis._metroSetTextBox1.DisabledForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(136)))), ((int)(((byte)(136)))), ((int)(((byte)(136)))));\n\t\t\tthis._metroSetTextBox1.Font = new System.Drawing.Font(\"Microsoft Sans Serif\", 10F);\n\t\t\tthis._metroSetTextBox1.HoverColor = System.Drawing.Color.FromArgb(((int)(((byte)(102)))), ((int)(((byte)(102)))), ((int)(((byte)(102)))));\n\t\t\tthis._metroSetTextBox1.Image = null;\n\t\t\tthis._metroSetTextBox1.IsDerivedStyle = true;\n\t\t\tthis._metroSetTextBox1.Lines = null;\n\t\t\tthis._metroSetTextBox1.Location = new System.Drawing.Point(15, 93);\n\t\t\tthis._metroSetTextBox1.MaxLength = 32767;\n\t\t\tthis._metroSetTextBox1.Multiline = false;\n\t\t\tthis._metroSetTextBox1.Name = \"_metroSetTextBox1\";\n\t\t\tthis._metroSetTextBox1.ReadOnly = false;\n\t\t\tthis._metroSetTextBox1.Size = new System.Drawing.Size(215, 26);\n\t\t\tthis._metroSetTextBox1.Style = MetroSet_UI.Enums.Style.Light;\n\t\t\tthis._metroSetTextBox1.StyleManager = this.styleManager1;\n\t\t\tthis._metroSetTextBox1.TabIndex = 3;\n\t\t\tthis._metroSetTextBox1.TextAlign = System.Windows.Forms.HorizontalAlignment.Left;\n\t\t\tthis._metroSetTextBox1.ThemeAuthor = \"Narwin\";\n\t\t\tthis._metroSetTextBox1.ThemeName = \"MetroLite\";\n\t\t\tthis._metroSetTextBox1.UseSystemPasswordChar = false;\n\t\t\tthis._metroSetTextBox1.WatermarkText = \"Normal TextBox\";\n\t\t\t// \n\t\t\t// _metroSetContextMenuStrip1\n\t\t\t// \n\t\t\tthis._metroSetContextMenuStrip1.IsDerivedStyle = true;\n\t\t\tthis._metroSetContextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {\n\t\t\tthis.textBoxToolStripMenuItem});\n\t\t\tthis._metroSetContextMenuStrip1.Name = \"_metroSetContextMenuStrip1\";\n\t\t\tthis._metroSetContextMenuStrip1.Size = new System.Drawing.Size(116, 26);\n\t\t\tthis._metroSetContextMenuStrip1.Style = MetroSet_UI.Enums.Style.Light;\n\t\t\tthis._metroSetContextMenuStrip1.StyleManager = null;\n\t\t\tthis._metroSetContextMenuStrip1.ThemeAuthor = \"Narwin\";\n\t\t\tthis._metroSetContextMenuStrip1.ThemeName = \"MetroLite\";\n\t\t\t// \n\t\t\t// textBoxToolStripMenuItem\n\t\t\t// \n\t\t\tthis.textBoxToolStripMenuItem.Name = \"textBoxToolStripMenuItem\";\n\t\t\tthis.textBoxToolStripMenuItem.Size = new System.Drawing.Size(115, 22);\n\t\t\tthis.textBoxToolStripMenuItem.Text = \"TextBox\";\n\t\t\t// \n\t\t\t// _metroSetLabel8\n\t\t\t// \n\t\t\tthis._metroSetLabel8.Font = new System.Drawing.Font(\"Microsoft Sans Serif\", 10F);\n\t\t\tthis._metroSetLabel8.IsDerivedStyle = true;\n\t\t\tthis._metroSetLabel8.Location = new System.Drawing.Point(305, 254);\n\t\t\tthis._metroSetLabel8.Name = \"_metroSetLabel8\";\n\t\t\tthis._metroSetLabel8.Size = new System.Drawing.Size(138, 23);\n\t\t\tthis._metroSetLabel8.Style = MetroSet_UI.Enums.Style.Light;\n\t\t\tthis._metroSetLabel8.StyleManager = this.styleManager1;\n\t\t\tthis._metroSetLabel8.TabIndex = 2;\n\t\t\tthis._metroSetLabel8.Text = \"Normal ComboBox\";\n\t\t\tthis._metroSetLabel8.ThemeAuthor = \"Narwin\";\n\t\t\tthis._metroSetLabel8.ThemeName = \"MetroLite\";\n\t\t\t// \n\t\t\t// _metroSetLabel9\n\t\t\t// \n\t\t\tthis._metroSetLabel9.Font = new System.Drawing.Font(\"Microsoft Sans Serif\", 10F);\n\t\t\tthis._metroSetLabel9.IsDerivedStyle = true;\n\t\t\tthis._metroSetLabel9.Location = new System.Drawing.Point(635, 55);\n\t\t\tthis._metroSetLabel9.Name = \"_metroSetLabel9\";\n\t\t\tthis._metroSetLabel9.Size = new System.Drawing.Size(138, 23);\n\t\t\tthis._metroSetLabel9.Style = MetroSet_UI.Enums.Style.Light;\n\t\t\tthis._metroSetLabel9.StyleManager = this.styleManager1;\n\t\t\tthis._metroSetLabel9.TabIndex = 2;\n\t\t\tthis._metroSetLabel9.Text = \"Normal ListBox\";\n\t\t\tthis._metroSetLabel9.ThemeAuthor = \"Narwin\";\n\t\t\tthis._metroSetLabel9.ThemeName = \"MetroLite\";\n\t\t\t// \n\t\t\t// _metroSetLabel6\n\t\t\t// \n\t\t\tthis._metroSetLabel6.Font = new System.Drawing.Font(\"Microsoft Sans Serif\", 10F);\n\t\t\tthis._metroSetLabel6.IsDerivedStyle = true;\n\t\t\tthis._metroSetLabel6.Location = new System.Drawing.Point(305, 55);\n\t\t\tthis._metroSetLabel6.Name = \"_metroSetLabel6\";\n\t\t\tthis._metroSetLabel6.Size = new System.Drawing.Size(138, 23);\n\t\t\tthis._metroSetLabel6.Style = MetroSet_UI.Enums.Style.Light;\n\t\t\tthis._metroSetLabel6.StyleManager = this.styleManager1;\n\t\t\tthis._metroSetLabel6.TabIndex = 2;\n\t\t\tthis._metroSetLabel6.Text = \"Normal RichTextBox\";\n\t\t\tthis._metroSetLabel6.ThemeAuthor = \"Narwin\";\n\t\t\tthis._metroSetLabel6.ThemeName = \"MetroLite\";\n\t\t\t// \n\t\t\t// _metroSetLabel7\n\t\t\t// \n\t\t\tthis._metroSetLabel7.Font = new System.Drawing.Font(\"Microsoft Sans Serif\", 10F);\n\t\t\tthis._metroSetLabel7.IsDerivedStyle = true;\n\t\t\tthis._metroSetLabel7.Location = new System.Drawing.Point(15, 388);\n\t\t\tthis._metroSetLabel7.Name = \"_metroSetLabel7\";\n\t\t\tthis._metroSetLabel7.Size = new System.Drawing.Size(114, 23);\n\t\t\tthis._metroSetLabel7.Style = MetroSet_UI.Enums.Style.Light;\n\t\t\tthis._metroSetLabel7.StyleManager = this.styleManager1;\n\t\t\tthis._metroSetLabel7.TabIndex = 2;\n\t\t\tthis._metroSetLabel7.Text = \"Normal Numeric\";\n\t\t\tthis._metroSetLabel7.ThemeAuthor = \"Narwin\";\n\t\t\tthis._metroSetLabel7.ThemeName = \"MetroLite\";\n\t\t\t// \n\t\t\t// _metroSetLabel5\n\t\t\t// \n\t\t\tthis._metroSetLabel5.Font = new System.Drawing.Font(\"Microsoft Sans Serif\", 10F);\n\t\t\tthis._metroSetLabel5.IsDerivedStyle = true;\n\t\t\tthis._metroSetLabel5.Location = new System.Drawing.Point(15, 55);\n\t\t\tthis._metroSetLabel5.Name = \"_metroSetLabel5\";\n\t\t\tthis._metroSetLabel5.Size = new System.Drawing.Size(114, 23);\n\t\t\tthis._metroSetLabel5.Style = MetroSet_UI.Enums.Style.Light;\n\t\t\tthis._metroSetLabel5.StyleManager = this.styleManager1;\n\t\t\tthis._metroSetLabel5.TabIndex = 2;\n\t\t\tthis._metroSetLabel5.Text = \"Normal TextBox\";\n\t\t\tthis._metroSetLabel5.ThemeAuthor = \"Narwin\";\n\t\t\tthis._metroSetLabel5.ThemeName = \"MetroLite\";\n\t\t\t// \n\t\t\t// _metroSetSetTabPage4\n\t\t\t// \n\t\t\tthis._metroSetSetTabPage4.BaseColor = System.Drawing.Color.White;\n\t\t\tthis._metroSetSetTabPage4.Controls.Add(this._metroSetSwitch4);\n\t\t\tthis._metroSetSetTabPage4.Controls.Add(this._metroSetSwitch3);\n\t\t\tthis._metroSetSetTabPage4.Controls.Add(this._metroSetSwitch2);\n\t\t\tthis._metroSetSetTabPage4.Controls.Add(this._metroSetSwitch1);\n\t\t\tthis._metroSetSetTabPage4.Controls.Add(this._metroSetLabel12);\n\t\t\tthis._metroSetSetTabPage4.Controls.Add(this._metroSetRadioButton4);\n\t\t\tthis._metroSetSetTabPage4.Controls.Add(this._metroSetRadioButton3);\n\t\t\tthis._metroSetSetTabPage4.Controls.Add(this._metroSetRadioButton2);\n\t\t\tthis._metroSetSetTabPage4.Controls.Add(this._metroSetRadioButton1);\n\t\t\tthis._metroSetSetTabPage4.Controls.Add(this._metroSetCheckBox5);\n\t\t\tthis._metroSetSetTabPage4.Controls.Add(this._metroSetCheckBox4);\n\t\t\tthis._metroSetSetTabPage4.Controls.Add(this._metroSetCheckBox3);\n\t\t\tthis._metroSetSetTabPage4.Controls.Add(this._metroSetCheckBox2);\n\t\t\tthis._metroSetSetTabPage4.Controls.Add(this._metroSetCheckBox6);\n\t\t\tthis._metroSetSetTabPage4.Controls.Add(this._metroSetCheckBox1);\n\t\t\tthis._metroSetSetTabPage4.Controls.Add(this._metroSetLabel11);\n\t\t\tthis._metroSetSetTabPage4.Controls.Add(this._metroSetLabel10);\n\t\t\tthis._metroSetSetTabPage4.Font = null;\n\t\t\tthis._metroSetSetTabPage4.ImageIndex = 0;\n\t\t\tthis._metroSetSetTabPage4.ImageKey = null;\n\t\t\tthis._metroSetSetTabPage4.IsDerivedStyle = true;\n\t\t\tthis._metroSetSetTabPage4.Location = new System.Drawing.Point(4, 42);\n\t\t\tthis._metroSetSetTabPage4.Name = \"_metroSetSetTabPage4\";\n\t\t\tthis._metroSetSetTabPage4.Size = new System.Drawing.Size(1106, 570);\n\t\t\tthis._metroSetSetTabPage4.Style = MetroSet_UI.Enums.Style.Light;\n\t\t\tthis._metroSetSetTabPage4.StyleManager = this.styleManager1;\n\t\t\tthis._metroSetSetTabPage4.TabIndex = 3;\n\t\t\tthis._metroSetSetTabPage4.Text = \"Switchery\";\n\t\t\tthis._metroSetSetTabPage4.ThemeAuthor = \"Narwin\";\n\t\t\tthis._metroSetSetTabPage4.ThemeName = \"MetroLite\";\n\t\t\tthis._metroSetSetTabPage4.ToolTipText = null;\n\t\t\t// \n\t\t\t// _metroSetSwitch4\n\t\t\t// \n\t\t\tthis._metroSetSwitch4.BackColor = System.Drawing.Color.Transparent;\n\t\t\tthis._metroSetSwitch4.BackgroundColor = System.Drawing.Color.Empty;\n\t\t\tthis._metroSetSwitch4.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(165)))), ((int)(((byte)(159)))), ((int)(((byte)(147)))));\n\t\t\tthis._metroSetSwitch4.CheckColor = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(177)))), ((int)(((byte)(225)))));\n\t\t\tthis._metroSetSwitch4.CheckState = MetroSet_UI.Enums.CheckState.Checked;\n\t\t\tthis._metroSetSwitch4.Cursor = System.Windows.Forms.Cursors.Hand;\n\t\t\tthis._metroSetSwitch4.DisabledBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(205)))), ((int)(((byte)(205)))));\n\t\t\tthis._metroSetSwitch4.DisabledCheckColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(65)))), ((int)(((byte)(177)))), ((int)(((byte)(225)))));\n\t\t\tthis._metroSetSwitch4.DisabledUnCheckColor = System.Drawing.Color.FromArgb(((int)(((byte)(200)))), ((int)(((byte)(205)))), ((int)(((byte)(205)))), ((int)(((byte)(205)))));\n\t\t\tthis._metroSetSwitch4.Enabled = false;\n\t\t\tthis._metroSetSwitch4.IsDerivedStyle = true;\n\t\t\tthis._metroSetSwitch4.Location = new System.Drawing.Point(635, 220);\n\t\t\tthis._metroSetSwitch4.Name = \"_metroSetSwitch4\";\n\t\t\tthis._metroSetSwitch4.Size = new System.Drawing.Size(58, 22);\n\t\t\tthis._metroSetSwitch4.Style = MetroSet_UI.Enums.Style.Light;\n\t\t\tthis._metroSetSwitch4.StyleManager = this.styleManager1;\n\t\t\tthis._metroSetSwitch4.Switched = true;\n\t\t\tthis._metroSetSwitch4.SymbolColor = System.Drawing.Color.FromArgb(((int)(((byte)(92)))), ((int)(((byte)(92)))), ((int)(((byte)(92)))));\n\t\t\tthis._metroSetSwitch4.TabIndex = 8;\n\t\t\tthis._metroSetSwitch4.Text = \"_metroSetSwitch1\";\n\t\t\tthis._metroSetSwitch4.ThemeAuthor = \"Narwin\";\n\t\t\tthis._metroSetSwitch4.ThemeName = \"MetroLite\";\n\t\t\tthis._metroSetSwitch4.UnCheckColor = System.Drawing.Color.FromArgb(((int)(((byte)(155)))), ((int)(((byte)(155)))), ((int)(((byte)(155)))));\n\t\t\t// \n\t\t\t// _metroSetSwitch3\n\t\t\t// \n\t\t\tthis._metroSetSwitch3.BackColor = System.Drawing.Color.Transparent;\n\t\t\tthis._metroSetSwitch3.BackgroundColor = System.Drawing.Color.Empty;\n\t\t\tthis._metroSetSwitch3.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(165)))), ((int)(((byte)(159)))), ((int)(((byte)(147)))));\n\t\t\tthis._metroSetSwitch3.CheckColor = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(177)))), ((int)(((byte)(225)))));\n\t\t\tthis._metroSetSwitch3.CheckState = MetroSet_UI.Enums.CheckState.Unchecked;\n\t\t\tthis._metroSetSwitch3.Cursor = System.Windows.Forms.Cursors.Hand;\n\t\t\tthis._metroSetSwitch3.DisabledBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(205)))), ((int)(((byte)(205)))));\n\t\t\tthis._metroSetSwitch3.DisabledCheckColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(65)))), ((int)(((byte)(177)))), ((int)(((byte)(225)))));\n\t\t\tthis._metroSetSwitch3.DisabledUnCheckColor = System.Drawing.Color.FromArgb(((int)(((byte)(200)))), ((int)(((byte)(205)))), ((int)(((byte)(205)))), ((int)(((byte)(205)))));\n\t\t\tthis._metroSetSwitch3.Enabled = false;\n\t\t\tthis._metroSetSwitch3.IsDerivedStyle = true;\n\t\t\tthis._metroSetSwitch3.Location = new System.Drawing.Point(635, 179);\n\t\t\tthis._metroSetSwitch3.Name = \"_metroSetSwitch3\";\n\t\t\tthis._metroSetSwitch3.Size = new System.Drawing.Size(58, 22);\n\t\t\tthis._metroSetSwitch3.Style = MetroSet_UI.Enums.Style.Light;\n\t\t\tthis._metroSetSwitch3.StyleManager = this.styleManager1;\n\t\t\tthis._metroSetSwitch3.Switched = false;\n\t\t\tthis._metroSetSwitch3.SymbolColor = System.Drawing.Color.FromArgb(((int)(((byte)(92)))), ((int)(((byte)(92)))), ((int)(((byte)(92)))));\n\t\t\tthis._metroSetSwitch3.TabIndex = 7;\n\t\t\tthis._metroSetSwitch3.Text = \"_metroSetSwitch1\";\n\t\t\tthis._metroSetSwitch3.ThemeAuthor = \"Narwin\";\n\t\t\tthis._metroSetSwitch3.ThemeName = \"MetroLite\";\n\t\t\tthis._metroSetSwitch3.UnCheckColor = System.Drawing.Color.FromArgb(((int)(((byte)(155)))), ((int)(((byte)(155)))), ((int)(((byte)(155)))));\n\t\t\t// \n\t\t\t// _metroSetSwitch2\n\t\t\t// \n\t\t\tthis._metroSetSwitch2.BackColor = System.Drawing.Color.Transparent;\n\t\t\tthis._metroSetSwitch2.BackgroundColor = System.Drawing.Color.Empty;\n\t\t\tthis._metroSetSwitch2.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(165)))), ((int)(((byte)(159)))), ((int)(((byte)(147)))));\n\t\t\tthis._metroSetSwitch2.CheckColor = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(177)))), ((int)(((byte)(225)))));\n\t\t\tthis._metroSetSwitch2.CheckState = MetroSet_UI.Enums.CheckState.Checked;\n\t\t\tthis._metroSetSwitch2.Cursor = System.Windows.Forms.Cursors.Hand;\n\t\t\tthis._metroSetSwitch2.DisabledBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(205)))), ((int)(((byte)(205)))));\n\t\t\tthis._metroSetSwitch2.DisabledCheckColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(65)))), ((int)(((byte)(177)))), ((int)(((byte)(225)))));\n\t\t\tthis._metroSetSwitch2.DisabledUnCheckColor = System.Drawing.Color.FromArgb(((int)(((byte)(200)))), ((int)(((byte)(205)))), ((int)(((byte)(205)))), ((int)(((byte)(205)))));\n\t\t\tthis._metroSetSwitch2.IsDerivedStyle = true;\n\t\t\tthis._metroSetSwitch2.Location = new System.Drawing.Point(635, 134);\n\t\t\tthis._metroSetSwitch2.Name = \"_metroSetSwitch2\";\n\t\t\tthis._metroSetSwitch2.Size = new System.Drawing.Size(58, 22);\n\t\t\tthis._metroSetSwitch2.Style = MetroSet_UI.Enums.Style.Light;\n\t\t\tthis._metroSetSwitch2.StyleManager = this.styleManager1;\n\t\t\tthis._metroSetSwitch2.Switched = true;\n\t\t\tthis._metroSetSwitch2.SymbolColor = System.Drawing.Color.FromArgb(((int)(((byte)(92)))), ((int)(((byte)(92)))), ((int)(((byte)(92)))));\n\t\t\tthis._metroSetSwitch2.TabIndex = 7;\n\t\t\tthis._metroSetSwitch2.Text = \"_metroSetSwitch1\";\n\t\t\tthis._metroSetSwitch2.ThemeAuthor = \"Narwin\";\n\t\t\tthis._metroSetSwitch2.ThemeName = \"MetroLite\";\n\t\t\tthis._metroSetSwitch2.UnCheckColor = System.Drawing.Color.FromArgb(((int)(((byte)(155)))), ((int)(((byte)(155)))), ((int)(((byte)(155)))));\n\t\t\tthis._metroSetSwitch2.SwitchedChanged += new MetroSet_UI.Controls.MetroSetSwitch.SwitchedChangedEventHandler(this.MetroSetSwitch2_SwitchedChanged);\n\t\t\t// \n\t\t\t// _metroSetSwitch1\n\t\t\t// \n\t\t\tthis._metroSetSwitch1.BackColor = System.Drawing.Color.Transparent;\n\t\t\tthis._metroSetSwitch1.BackgroundColor = System.Drawing.Color.Empty;\n\t\t\tthis._metroSetSwitch1.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(165)))), ((int)(((byte)(159)))), ((int)(((byte)(147)))));\n\t\t\tthis._metroSetSwitch1.CheckColor = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(177)))), ((int)(((byte)(225)))));\n\t\t\tthis._metroSetSwitch1.CheckState = MetroSet_UI.Enums.CheckState.Unchecked;\n\t\t\tthis._metroSetSwitch1.Cursor = System.Windows.Forms.Cursors.Hand;\n\t\t\tthis._metroSetSwitch1.DisabledBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(205)))), ((int)(((byte)(205)))));\n\t\t\tthis._metroSetSwitch1.DisabledCheckColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(65)))), ((int)(((byte)(177)))), ((int)(((byte)(225)))));\n\t\t\tthis._metroSetSwitch1.DisabledUnCheckColor = System.Drawing.Color.FromArgb(((int)(((byte)(200)))), ((int)(((byte)(205)))), ((int)(((byte)(205)))), ((int)(((byte)(205)))));\n\t\t\tthis._metroSetSwitch1.IsDerivedStyle = true;\n\t\t\tthis._metroSetSwitch1.Location = new System.Drawing.Point(635, 99);\n\t\t\tthis._metroSetSwitch1.Name = \"_metroSetSwitch1\";\n\t\t\tthis._metroSetSwitch1.Size = new System.Drawing.Size(58, 22);\n\t\t\tthis._metroSetSwitch1.Style = MetroSet_UI.Enums.Style.Light;\n\t\t\tthis._metroSetSwitch1.StyleManager = this.styleManager1;\n\t\t\tthis._metroSetSwitch1.Switched = false;\n\t\t\tthis._metroSetSwitch1.SymbolColor = System.Drawing.Color.FromArgb(((int)(((byte)(92)))), ((int)(((byte)(92)))), ((int)(((byte)(92)))));\n\t\t\tthis._metroSetSwitch1.TabIndex = 7;\n\t\t\tthis._metroSetSwitch1.Text = \"_metroSetSwitch1\";\n\t\t\tthis._metroSetSwitch1.ThemeAuthor = \"Narwin\";\n\t\t\tthis._metroSetSwitch1.ThemeName = \"MetroLite\";\n\t\t\tthis._metroSetSwitch1.UnCheckColor = System.Drawing.Color.FromArgb(((int)(((byte)(155)))), ((int)(((byte)(155)))), ((int)(((byte)(155)))));\n\t\t\t// \n\t\t\t// _metroSetLabel12\n\t\t\t// \n\t\t\tthis._metroSetLabel12.Font = new System.Drawing.Font(\"Microsoft Sans Serif\", 10F);\n\t\t\tthis._metroSetLabel12.IsDerivedStyle = true;\n\t\t\tthis._metroSetLabel12.Location = new System.Drawing.Point(635, 55);\n\t\t\tthis._metroSetLabel12.Name = \"_metroSetLabel12\";\n\t\t\tthis._metroSetLabel12.Size = new System.Drawing.Size(130, 23);\n\t\t\tthis._metroSetLabel12.Style = MetroSet_UI.Enums.Style.Light;\n\t\t\tthis._metroSetLabel12.StyleManager = this.styleManager1;\n\t\t\tthis._metroSetLabel12.TabIndex = 6;\n\t\t\tthis._metroSetLabel12.Text = \"Switches\";\n\t\t\tthis._metroSetLabel12.ThemeAuthor = \"Narwin\";\n\t\t\tthis._metroSetLabel12.ThemeName = \"MetroLite\";\n\t\t\t// \n\t\t\t// _metroSetRadioButton4\n\t\t\t// \n\t\t\tthis._metroSetRadioButton4.BackgroundColor = System.Drawing.Color.White;\n\t\t\tthis._metroSetRadioButton4.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(155)))), ((int)(((byte)(155)))), ((int)(((byte)(155)))));\n\t\t\tthis._metroSetRadioButton4.Checked = true;\n\t\t\tthis._metroSetRadioButton4.CheckSignColor = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(177)))), ((int)(((byte)(225)))));\n\t\t\tthis._metroSetRadioButton4.CheckState = MetroSet_UI.Enums.CheckState.Checked;\n\t\t\tthis._metroSetRadioButton4.Cursor = System.Windows.Forms.Cursors.Hand;\n\t\t\tthis._metroSetRadioButton4.DisabledBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(205)))), ((int)(((byte)(205)))));\n\t\t\tthis._metroSetRadioButton4.Enabled = false;\n\t\t\tthis._metroSetRadioButton4.Font = new System.Drawing.Font(\"Segoe UI\", 10F);\n\t\t\tthis._metroSetRadioButton4.Group = 0;\n\t\t\tthis._metroSetRadioButton4.IsDerivedStyle = true;\n\t\t\tthis._metroSetRadioButton4.Location = new System.Drawing.Point(305, 219);\n\t\t\tthis._metroSetRadioButton4.Name = \"_metroSetRadioButton4\";\n\t\t\tthis._metroSetRadioButton4.Size = new System.Drawing.Size(145, 17);\n\t\t\tthis._metroSetRadioButton4.Style = MetroSet_UI.Enums.Style.Light;\n\t\t\tthis._metroSetRadioButton4.StyleManager = this.styleManager1;\n\t\t\tthis._metroSetRadioButton4.TabIndex = 5;\n\t\t\tthis._metroSetRadioButton4.Text = \"Disabled Checked\";\n\t\t\tthis._metroSetRadioButton4.ThemeAuthor = \"Narwin\";\n\t\t\tthis._metroSetRadioButton4.ThemeName = \"MetroLite\";\n\t\t\t// \n\t\t\t// _metroSetRadioButton3\n\t\t\t// \n\t\t\tthis._metroSetRadioButton3.BackgroundColor = System.Drawing.Color.White;\n\t\t\tthis._metroSetRadioButton3.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(155)))), ((int)(((byte)(155)))), ((int)(((byte)(155)))));\n\t\t\tthis._metroSetRadioButton3.Checked = true;\n\t\t\tthis._metroSetRadioButton3.CheckSignColor = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(177)))), ((int)(((byte)(225)))));\n\t\t\tthis._metroSetRadioButton3.CheckState = MetroSet_UI.Enums.CheckState.Checked;\n\t\t\tthis._metroSetRadioButton3.Cursor = System.Windows.Forms.Cursors.Hand;\n\t\t\tthis._metroSetRadioButton3.DisabledBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(205)))), ((int)(((byte)(205)))));\n\t\t\tthis._metroSetRadioButton3.Font = new System.Drawing.Font(\"Segoe UI\", 10F);\n\t\t\tthis._metroSetRadioButton3.Group = 0;\n\t\t\tthis._metroSetRadioButton3.IsDerivedStyle = true;\n\t\t\tthis._metroSetRadioButton3.Location = new System.Drawing.Point(305, 139);\n\t\t\tthis._metroSetRadioButton3.Name = \"_metroSetRadioButton3\";\n\t\t\tthis._metroSetRadioButton3.Size = new System.Drawing.Size(145, 17);\n\t\t\tthis._metroSetRadioButton3.Style = MetroSet_UI.Enums.Style.Light;\n\t\t\tthis._metroSetRadioButton3.StyleManager = this.styleManager1;\n\t\t\tthis._metroSetRadioButton3.TabIndex = 5;\n\t\t\tthis._metroSetRadioButton3.Text = \"Normal Checked\";\n\t\t\tthis._metroSetRadioButton3.ThemeAuthor = \"Narwin\";\n\t\t\tthis._metroSetRadioButton3.ThemeName = \"MetroLite\";\n\t\t\t// \n\t\t\t// _metroSetRadioButton2\n\t\t\t// \n\t\t\tthis._metroSetRadioButton2.BackgroundColor = System.Drawing.Color.White;\n\t\t\tthis._metroSetRadioButton2.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(155)))), ((int)(((byte)(155)))), ((int)(((byte)(155)))));\n\t\t\tthis._metroSetRadioButton2.Checked = false;\n\t\t\tthis._metroSetRadioButton2.CheckSignColor = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(177)))), ((int)(((byte)(225)))));\n\t\t\tthis._metroSetRadioButton2.CheckState = MetroSet_UI.Enums.CheckState.Unchecked;\n\t\t\tthis._metroSetRadioButton2.Cursor = System.Windows.Forms.Cursors.Hand;\n\t\t\tthis._metroSetRadioButton2.DisabledBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(205)))), ((int)(((byte)(205)))));\n\t\t\tthis._metroSetRadioButton2.Enabled = false;\n\t\t\tthis._metroSetRadioButton2.Font = new System.Drawing.Font(\"Segoe UI\", 10F);\n\t\t\tthis._metroSetRadioButton2.Group = 0;\n\t\t\tthis._metroSetRadioButton2.IsDerivedStyle = true;\n\t\t\tthis._metroSetRadioButton2.Location = new System.Drawing.Point(305, 179);\n\t\t\tthis._metroSetRadioButton2.Name = \"_metroSetRadioButton2\";\n\t\t\tthis._metroSetRadioButton2.Size = new System.Drawing.Size(145, 17);\n\t\t\tthis._metroSetRadioButton2.Style = MetroSet_UI.Enums.Style.Light;\n\t\t\tthis._metroSetRadioButton2.StyleManager = this.styleManager1;\n\t\t\tthis._metroSetRadioButton2.TabIndex = 5;\n\t\t\tthis._metroSetRadioButton2.Text = \"Disabled Unchecked\";\n\t\t\tthis._metroSetRadioButton2.ThemeAuthor = \"Narwin\";\n\t\t\tthis._metroSetRadioButton2.ThemeName = \"MetroLite\";\n\t\t\t// \n\t\t\t// _metroSetRadioButton1\n\t\t\t// \n\t\t\tthis._metroSetRadioButton1.BackgroundColor = System.Drawing.Color.White;\n\t\t\tthis._metroSetRadioButton1.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(155)))), ((int)(((byte)(155)))), ((int)(((byte)(155)))));\n\t\t\tthis._metroSetRadioButton1.Checked = false;\n\t\t\tthis._metroSetRadioButton1.CheckSignColor = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(177)))), ((int)(((byte)(225)))));\n\t\t\tthis._metroSetRadioButton1.CheckState = MetroSet_UI.Enums.CheckState.Unchecked;\n\t\t\tthis._metroSetRadioButton1.Cursor = System.Windows.Forms.Cursors.Hand;\n\t\t\tthis._metroSetRadioButton1.DisabledBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(205)))), ((int)(((byte)(205)))));\n\t\t\tthis._metroSetRadioButton1.Font = new System.Drawing.Font(\"Segoe UI\", 10F);\n\t\t\tthis._metroSetRadioButton1.Group = 0;\n\t\t\tthis._metroSetRadioButton1.IsDerivedStyle = true;\n\t\t\tthis._metroSetRadioButton1.Location = new System.Drawing.Point(305, 99);\n\t\t\tthis._metroSetRadioButton1.Name = \"_metroSetRadioButton1\";\n\t\t\tthis._metroSetRadioButton1.Size = new System.Drawing.Size(145, 17);\n\t\t\tthis._metroSetRadioButton1.Style = MetroSet_UI.Enums.Style.Light;\n\t\t\tthis._metroSetRadioButton1.StyleManager = this.styleManager1;\n\t\t\tthis._metroSetRadioButton1.TabIndex = 5;\n\t\t\tthis._metroSetRadioButton1.Text = \"Normal Unchecked\";\n\t\t\tthis._metroSetRadioButton1.ThemeAuthor = \"Narwin\";\n\t\t\tthis._metroSetRadioButton1.ThemeName = \"MetroLite\";\n\t\t\t// \n\t\t\t// _metroSetCheckBox5\n\t\t\t// \n\t\t\tthis._metroSetCheckBox5.BackColor = System.Drawing.Color.Transparent;\n\t\t\tthis._metroSetCheckBox5.BackgroundColor = System.Drawing.Color.White;\n\t\t\tthis._metroSetCheckBox5.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(155)))), ((int)(((byte)(155)))), ((int)(((byte)(155)))));\n\t\t\tthis._metroSetCheckBox5.Checked = true;\n\t\t\tthis._metroSetCheckBox5.CheckSignColor = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(177)))), ((int)(((byte)(225)))));\n\t\t\tthis._metroSetCheckBox5.CheckState = MetroSet_UI.Enums.CheckState.Checked;\n\t\t\tthis._metroSetCheckBox5.Cursor = System.Windows.Forms.Cursors.Hand;\n\t\t\tthis._metroSetCheckBox5.DisabledBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(205)))), ((int)(((byte)(205)))));\n\t\t\tthis._metroSetCheckBox5.Enabled = false;\n\t\t\tthis._metroSetCheckBox5.Font = new System.Drawing.Font(\"Microsoft Sans Serif\", 10F);\n\t\t\tthis._metroSetCheckBox5.IsDerivedStyle = true;\n\t\t\tthis._metroSetCheckBox5.Location = new System.Drawing.Point(15, 300);\n\t\t\tthis._metroSetCheckBox5.Name = \"_metroSetCheckBox5\";\n\t\t\tthis._metroSetCheckBox5.SignStyle = MetroSet_UI.Enums.SignStyle.Shape;\n\t\t\tthis._metroSetCheckBox5.Size = new System.Drawing.Size(197, 16);\n\t\t\tthis._metroSetCheckBox5.Style = MetroSet_UI.Enums.Style.Light;\n\t\t\tthis._metroSetCheckBox5.StyleManager = this.styleManager1;\n\t\t\tthis._metroSetCheckBox5.TabIndex = 4;\n\t\t\tthis._metroSetCheckBox5.Text = \"Disabled Checked With Shape\";\n\t\t\tthis._metroSetCheckBox5.ThemeAuthor = \"Narwin\";\n\t\t\tthis._metroSetCheckBox5.ThemeName = \"MetroLite\";\n\t\t\t// \n\t\t\t// _metroSetCheckBox4\n\t\t\t// \n\t\t\tthis._metroSetCheckBox4.BackColor = System.Drawing.Color.Transparent;\n\t\t\tthis._metroSetCheckBox4.BackgroundColor = System.Drawing.Color.White;\n\t\t\tthis._metroSetCheckBox4.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(155)))), ((int)(((byte)(155)))), ((int)(((byte)(155)))));\n\t\t\tthis._metroSetCheckBox4.Checked = true;\n\t\t\tthis._metroSetCheckBox4.CheckSignColor = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(177)))), ((int)(((byte)(225)))));\n\t\t\tthis._metroSetCheckBox4.CheckState = MetroSet_UI.Enums.CheckState.Checked;\n\t\t\tthis._metroSetCheckBox4.Cursor = System.Windows.Forms.Cursors.Hand;\n\t\t\tthis._metroSetCheckBox4.DisabledBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(205)))), ((int)(((byte)(205)))));\n\t\t\tthis._metroSetCheckBox4.Enabled = false;\n\t\t\tthis._metroSetCheckBox4.Font = new System.Drawing.Font(\"Microsoft Sans Serif\", 10F);\n\t\t\tthis._metroSetCheckBox4.IsDerivedStyle = true;\n\t\t\tthis._metroSetCheckBox4.Location = new System.Drawing.Point(15, 260);\n\t\t\tthis._metroSetCheckBox4.Name = \"_metroSetCheckBox4\";\n\t\t\tthis._metroSetCheckBox4.SignStyle = MetroSet_UI.Enums.SignStyle.Sign;\n\t\t\tthis._metroSetCheckBox4.Size = new System.Drawing.Size(187, 16);\n\t\t\tthis._metroSetCheckBox4.Style = MetroSet_UI.Enums.Style.Light;\n\t\t\tthis._metroSetCheckBox4.StyleManager = this.styleManager1;\n\t\t\tthis._metroSetCheckBox4.TabIndex = 4;\n\t\t\tthis._metroSetCheckBox4.Text = \"Disabled Checked With Tick\";\n\t\t\tthis._metroSetCheckBox4.ThemeAuthor = \"Narwin\";\n\t\t\tthis._metroSetCheckBox4.ThemeName = \"MetroLite\";\n\t\t\t// \n\t\t\t// _metroSetCheckBox3\n\t\t\t// \n\t\t\tthis._metroSetCheckBox3.BackColor = System.Drawing.Color.Transparent;\n\t\t\tthis._metroSetCheckBox3.BackgroundColor = System.Drawing.Color.White;\n\t\t\tthis._metroSetCheckBox3.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(155)))), ((int)(((byte)(155)))), ((int)(((byte)(155)))));\n\t\t\tthis._metroSetCheckBox3.Checked = true;\n\t\t\tthis._metroSetCheckBox3.CheckSignColor = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(177)))), ((int)(((byte)(225)))));\n\t\t\tthis._metroSetCheckBox3.CheckState = MetroSet_UI.Enums.CheckState.Checked;\n\t\t\tthis._metroSetCheckBox3.Cursor = System.Windows.Forms.Cursors.Hand;\n\t\t\tthis._metroSetCheckBox3.DisabledBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(205)))), ((int)(((byte)(205)))));\n\t\t\tthis._metroSetCheckBox3.Font = new System.Drawing.Font(\"Microsoft Sans Serif\", 10F);\n\t\t\tthis._metroSetCheckBox3.IsDerivedStyle = true;\n\t\t\tthis._metroSetCheckBox3.Location = new System.Drawing.Point(15, 180);\n\t\t\tthis._metroSetCheckBox3.Name = \"_metroSetCheckBox3\";\n\t\t\tthis._metroSetCheckBox3.SignStyle = MetroSet_UI.Enums.SignStyle.Shape;\n\t\t\tthis._metroSetCheckBox3.Size = new System.Drawing.Size(197, 16);\n\t\t\tthis._metroSetCheckBox3.Style = MetroSet_UI.Enums.Style.Light;\n\t\t\tthis._metroSetCheckBox3.StyleManager = this.styleManager1;\n\t\t\tthis._metroSetCheckBox3.TabIndex = 4;\n\t\t\tthis._metroSetCheckBox3.Text = \"Normal  Checked With Shape\";\n\t\t\tthis._metroSetCheckBox3.ThemeAuthor = \"Narwin\";\n\t\t\tthis._metroSetCheckBox3.ThemeName = \"MetroLite\";\n\t\t\t// \n\t\t\t// _metroSetCheckBox2\n\t\t\t// \n\t\t\tthis._metroSetCheckBox2.BackColor = System.Drawing.Color.Transparent;\n\t\t\tthis._metroSetCheckBox2.BackgroundColor = System.Drawing.Color.White;\n\t\t\tthis._metroSetCheckBox2.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(155)))), ((int)(((byte)(155)))), ((int)(((byte)(155)))));\n\t\t\tthis._metroSetCheckBox2.Checked = true;\n\t\t\tthis._metroSetCheckBox2.CheckSignColor = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(177)))), ((int)(((byte)(225)))));\n\t\t\tthis._metroSetCheckBox2.CheckState = MetroSet_UI.Enums.CheckState.Checked;\n\t\t\tthis._metroSetCheckBox2.Cursor = System.Windows.Forms.Cursors.Hand;\n\t\t\tthis._metroSetCheckBox2.DisabledBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(205)))), ((int)(((byte)(205)))));\n\t\t\tthis._metroSetCheckBox2.Font = new System.Drawing.Font(\"Microsoft Sans Serif\", 10F);\n\t\t\tthis._metroSetCheckBox2.IsDerivedStyle = true;\n\t\t\tthis._metroSetCheckBox2.Location = new System.Drawing.Point(15, 140);\n\t\t\tthis._metroSetCheckBox2.Name = \"_metroSetCheckBox2\";\n\t\t\tthis._metroSetCheckBox2.SignStyle = MetroSet_UI.Enums.SignStyle.Sign;\n\t\t\tthis._metroSetCheckBox2.Size = new System.Drawing.Size(187, 16);\n\t\t\tthis._metroSetCheckBox2.Style = MetroSet_UI.Enums.Style.Light;\n\t\t\tthis._metroSetCheckBox2.StyleManager = this.styleManager1;\n\t\t\tthis._metroSetCheckBox2.TabIndex = 4;\n\t\t\tthis._metroSetCheckBox2.Text = \"Normal  Checked With Tick\";\n\t\t\tthis._metroSetCheckBox2.ThemeAuthor = \"Narwin\";\n\t\t\tthis._metroSetCheckBox2.ThemeName = \"MetroLite\";\n\t\t\t// \n\t\t\t// _metroSetCheckBox6\n\t\t\t// \n\t\t\tthis._metroSetCheckBox6.BackColor = System.Drawing.Color.Transparent;\n\t\t\tthis._metroSetCheckBox6.BackgroundColor = System.Drawing.Color.White;\n\t\t\tthis._metroSetCheckBox6.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(155)))), ((int)(((byte)(155)))), ((int)(((byte)(155)))));\n\t\t\tthis._metroSetCheckBox6.Checked = false;\n\t\t\tthis._metroSetCheckBox6.CheckSignColor = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(177)))), ((int)(((byte)(225)))));\n\t\t\tthis._metroSetCheckBox6.CheckState = MetroSet_UI.Enums.CheckState.Unchecked;\n\t\t\tthis._metroSetCheckBox6.Cursor = System.Windows.Forms.Cursors.Hand;\n\t\t\tthis._metroSetCheckBox6.DisabledBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(205)))), ((int)(((byte)(205)))));\n\t\t\tthis._metroSetCheckBox6.Enabled = false;\n\t\t\tthis._metroSetCheckBox6.Font = new System.Drawing.Font(\"Microsoft Sans Serif\", 10F);\n\t\t\tthis._metroSetCheckBox6.IsDerivedStyle = true;\n\t\t\tthis._metroSetCheckBox6.Location = new System.Drawing.Point(15, 220);\n\t\t\tthis._metroSetCheckBox6.Name = \"_metroSetCheckBox6\";\n\t\t\tthis._metroSetCheckBox6.SignStyle = MetroSet_UI.Enums.SignStyle.Sign;\n\t\t\tthis._metroSetCheckBox6.Size = new System.Drawing.Size(148, 16);\n\t\t\tthis._metroSetCheckBox6.Style = MetroSet_UI.Enums.Style.Light;\n\t\t\tthis._metroSetCheckBox6.StyleManager = this.styleManager1;\n\t\t\tthis._metroSetCheckBox6.TabIndex = 4;\n\t\t\tthis._metroSetCheckBox6.Text = \"Disabled Unchecked\";\n\t\t\tthis._metroSetCheckBox6.ThemeAuthor = \"Narwin\";\n\t\t\tthis._metroSetCheckBox6.ThemeName = \"MetroLite\";\n\t\t\t// \n\t\t\t// _metroSetCheckBox1\n\t\t\t// \n\t\t\tthis._metroSetCheckBox1.BackColor = System.Drawing.Color.Transparent;\n\t\t\tthis._metroSetCheckBox1.BackgroundColor = System.Drawing.Color.White;\n\t\t\tthis._metroSetCheckBox1.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(155)))), ((int)(((byte)(155)))), ((int)(((byte)(155)))));\n\t\t\tthis._metroSetCheckBox1.Checked = false;\n\t\t\tthis._metroSetCheckBox1.CheckSignColor = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(177)))), ((int)(((byte)(225)))));\n\t\t\tthis._metroSetCheckBox1.CheckState = MetroSet_UI.Enums.CheckState.Unchecked;\n\t\t\tthis._metroSetCheckBox1.Cursor = System.Windows.Forms.Cursors.Hand;\n\t\t\tthis._metroSetCheckBox1.DisabledBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(205)))), ((int)(((byte)(205)))));\n\t\t\tthis._metroSetCheckBox1.Font = new System.Drawing.Font(\"Microsoft Sans Serif\", 10F);\n\t\t\tthis._metroSetCheckBox1.IsDerivedStyle = true;\n\t\t\tthis._metroSetCheckBox1.Location = new System.Drawing.Point(15, 100);\n\t\t\tthis._metroSetCheckBox1.Name = \"_metroSetCheckBox1\";\n\t\t\tthis._metroSetCheckBox1.SignStyle = MetroSet_UI.Enums.SignStyle.Sign;\n\t\t\tthis._metroSetCheckBox1.Size = new System.Drawing.Size(148, 16);\n\t\t\tthis._metroSetCheckBox1.Style = MetroSet_UI.Enums.Style.Light;\n\t\t\tthis._metroSetCheckBox1.StyleManager = this.styleManager1;\n\t\t\tthis._metroSetCheckBox1.TabIndex = 4;\n\t\t\tthis._metroSetCheckBox1.Text = \"Normal Unchecked\";\n\t\t\tthis._metroSetCheckBox1.ThemeAuthor = \"Narwin\";\n\t\t\tthis._metroSetCheckBox1.ThemeName = \"MetroLite\";\n\t\t\t// \n\t\t\t// _metroSetLabel11\n\t\t\t// \n\t\t\tthis._metroSetLabel11.Font = new System.Drawing.Font(\"Microsoft Sans Serif\", 10F);\n\t\t\tthis._metroSetLabel11.IsDerivedStyle = true;\n\t\t\tthis._metroSetLabel11.Location = new System.Drawing.Point(305, 55);\n\t\t\tthis._metroSetLabel11.Name = \"_metroSetLabel11\";\n\t\t\tthis._metroSetLabel11.Size = new System.Drawing.Size(145, 23);\n\t\t\tthis._metroSetLabel11.Style = MetroSet_UI.Enums.Style.Light;\n\t\t\tthis._metroSetLabel11.StyleManager = this.styleManager1;\n\t\t\tthis._metroSetLabel11.TabIndex = 3;\n\t\t\tthis._metroSetLabel11.Text = \"Normal RadioButton\";\n\t\t\tthis._metroSetLabel11.ThemeAuthor = \"Narwin\";\n\t\t\tthis._metroSetLabel11.ThemeName = \"MetroLite\";\n\t\t\t// \n\t\t\t// _metroSetLabel10\n\t\t\t// \n\t\t\tthis._metroSetLabel10.Font = new System.Drawing.Font(\"Microsoft Sans Serif\", 10F);\n\t\t\tthis._metroSetLabel10.IsDerivedStyle = true;\n\t\t\tthis._metroSetLabel10.Location = new System.Drawing.Point(15, 55);\n\t\t\tthis._metroSetLabel10.Name = \"_metroSetLabel10\";\n\t\t\tthis._metroSetLabel10.Size = new System.Drawing.Size(130, 23);\n\t\t\tthis._metroSetLabel10.Style = MetroSet_UI.Enums.Style.Light;\n\t\t\tthis._metroSetLabel10.StyleManager = this.styleManager1;\n\t\t\tthis._metroSetLabel10.TabIndex = 3;\n\t\t\tthis._metroSetLabel10.Text = \"Normal CheckBox\";\n\t\t\tthis._metroSetLabel10.ThemeAuthor = \"Narwin\";\n\t\t\tthis._metroSetLabel10.ThemeName = \"MetroLite\";\n\t\t\t// \n\t\t\t// _metroSetSetTabPage5\n\t\t\t// \n\t\t\tthis._metroSetSetTabPage5.BaseColor = System.Drawing.Color.White;\n\t\t\tthis._metroSetSetTabPage5.Controls.Add(this._metroSetTrackBar2);\n\t\t\tthis._metroSetSetTabPage5.Controls.Add(this._metroSetTrackBar1);\n\t\t\tthis._metroSetSetTabPage5.Controls.Add(this._metroSetProgressBar4);\n\t\t\tthis._metroSetSetTabPage5.Controls.Add(this._metroSetProgressBar3);\n\t\t\tthis._metroSetSetTabPage5.Controls.Add(this._metroSetLabel14);\n\t\t\tthis._metroSetSetTabPage5.Controls.Add(this._metroSetLabel15);\n\t\t\tthis._metroSetSetTabPage5.Controls.Add(this._metroSetLabel13);\n\t\t\tthis._metroSetSetTabPage5.Controls.Add(this._metroSetProgressBar2);\n\t\t\tthis._metroSetSetTabPage5.Controls.Add(this._metroSetProgressBar1);\n\t\t\tthis._metroSetSetTabPage5.Font = null;\n\t\t\tthis._metroSetSetTabPage5.ImageIndex = 0;\n\t\t\tthis._metroSetSetTabPage5.ImageKey = null;\n\t\t\tthis._metroSetSetTabPage5.IsDerivedStyle = true;\n\t\t\tthis._metroSetSetTabPage5.Location = new System.Drawing.Point(4, 42);\n\t\t\tthis._metroSetSetTabPage5.Name = \"_metroSetSetTabPage5\";\n\t\t\tthis._metroSetSetTabPage5.Size = new System.Drawing.Size(1106, 570);\n\t\t\tthis._metroSetSetTabPage5.Style = MetroSet_UI.Enums.Style.Light;\n\t\t\tthis._metroSetSetTabPage5.StyleManager = this.styleManager1;\n\t\t\tthis._metroSetSetTabPage5.TabIndex = 4;\n\t\t\tthis._metroSetSetTabPage5.Text = \"Progress\";\n\t\t\tthis._metroSetSetTabPage5.ThemeAuthor = \"Narwin\";\n\t\t\tthis._metroSetSetTabPage5.ThemeName = \"MetroLite\";\n\t\t\tthis._metroSetSetTabPage5.ToolTipText = null;\n\t\t\t// \n\t\t\t// _metroSetTrackBar2\n\t\t\t// \n\t\t\tthis._metroSetTrackBar2.BackColor = System.Drawing.Color.Transparent;\n\t\t\tthis._metroSetTrackBar2.BackgroundColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(205)))), ((int)(((byte)(205)))));\n\t\t\tthis._metroSetTrackBar2.Cursor = System.Windows.Forms.Cursors.Hand;\n\t\t\tthis._metroSetTrackBar2.DisabledBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(235)))), ((int)(((byte)(235)))), ((int)(((byte)(235)))));\n\t\t\tthis._metroSetTrackBar2.DisabledBorderColor = System.Drawing.Color.Empty;\n\t\t\tthis._metroSetTrackBar2.DisabledHandlerColor = System.Drawing.Color.FromArgb(((int)(((byte)(196)))), ((int)(((byte)(196)))), ((int)(((byte)(196)))));\n\t\t\tthis._metroSetTrackBar2.DisabledValueColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(205)))), ((int)(((byte)(205)))));\n\t\t\tthis._metroSetTrackBar2.Enabled = false;\n\t\t\tthis._metroSetTrackBar2.HandlerColor = System.Drawing.Color.FromArgb(((int)(((byte)(180)))), ((int)(((byte)(180)))), ((int)(((byte)(180)))));\n\t\t\tthis._metroSetTrackBar2.IsDerivedStyle = true;\n\t\t\tthis._metroSetTrackBar2.Location = new System.Drawing.Point(494, 147);\n\t\t\tthis._metroSetTrackBar2.Maximum = 100;\n\t\t\tthis._metroSetTrackBar2.Minimum = 0;\n\t\t\tthis._metroSetTrackBar2.Name = \"_metroSetTrackBar2\";\n\t\t\tthis._metroSetTrackBar2.Size = new System.Drawing.Size(241, 16);\n\t\t\tthis._metroSetTrackBar2.Style = MetroSet_UI.Enums.Style.Light;\n\t\t\tthis._metroSetTrackBar2.StyleManager = this.styleManager1;\n\t\t\tthis._metroSetTrackBar2.TabIndex = 4;\n\t\t\tthis._metroSetTrackBar2.Text = \"_metroSetTrackBar1\";\n\t\t\tthis._metroSetTrackBar2.ThemeAuthor = \"Narwin\";\n\t\t\tthis._metroSetTrackBar2.ThemeName = \"MetroLite\";\n\t\t\tthis._metroSetTrackBar2.Value = 45;\n\t\t\tthis._metroSetTrackBar2.ValueColor = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(177)))), ((int)(((byte)(225)))));\n\t\t\t// \n\t\t\t// _metroSetTrackBar1\n\t\t\t// \n\t\t\tthis._metroSetTrackBar1.BackColor = System.Drawing.Color.Transparent;\n\t\t\tthis._metroSetTrackBar1.BackgroundColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(205)))), ((int)(((byte)(205)))));\n\t\t\tthis._metroSetTrackBar1.Cursor = System.Windows.Forms.Cursors.Hand;\n\t\t\tthis._metroSetTrackBar1.DisabledBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(235)))), ((int)(((byte)(235)))), ((int)(((byte)(235)))));\n\t\t\tthis._metroSetTrackBar1.DisabledBorderColor = System.Drawing.Color.Empty;\n\t\t\tthis._metroSetTrackBar1.DisabledHandlerColor = System.Drawing.Color.FromArgb(((int)(((byte)(196)))), ((int)(((byte)(196)))), ((int)(((byte)(196)))));\n\t\t\tthis._metroSetTrackBar1.DisabledValueColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(205)))), ((int)(((byte)(205)))));\n\t\t\tthis._metroSetTrackBar1.HandlerColor = System.Drawing.Color.FromArgb(((int)(((byte)(180)))), ((int)(((byte)(180)))), ((int)(((byte)(180)))));\n\t\t\tthis._metroSetTrackBar1.IsDerivedStyle = true;\n\t\t\tthis._metroSetTrackBar1.Location = new System.Drawing.Point(494, 102);\n\t\t\tthis._metroSetTrackBar1.Maximum = 100;\n\t\t\tthis._metroSetTrackBar1.Minimum = 0;\n\t\t\tthis._metroSetTrackBar1.Name = \"_metroSetTrackBar1\";\n\t\t\tthis._metroSetTrackBar1.Size = new System.Drawing.Size(241, 16);\n\t\t\tthis._metroSetTrackBar1.Style = MetroSet_UI.Enums.Style.Light;\n\t\t\tthis._metroSetTrackBar1.StyleManager = this.styleManager1;\n\t\t\tthis._metroSetTrackBar1.TabIndex = 4;\n\t\t\tthis._metroSetTrackBar1.Text = \"_metroSetTrackBar1\";\n\t\t\tthis._metroSetTrackBar1.ThemeAuthor = \"Narwin\";\n\t\t\tthis._metroSetTrackBar1.ThemeName = \"MetroLite\";\n\t\t\tthis._metroSetTrackBar1.Value = 75;\n\t\t\tthis._metroSetTrackBar1.ValueColor = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(177)))), ((int)(((byte)(225)))));\n\t\t\t// \n\t\t\t// _metroSetProgressBar4\n\t\t\t// \n\t\t\tthis._metroSetProgressBar4.BackgroundColor = System.Drawing.Color.FromArgb(((int)(((byte)(238)))), ((int)(((byte)(238)))), ((int)(((byte)(238)))));\n\t\t\tthis._metroSetProgressBar4.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(238)))), ((int)(((byte)(238)))), ((int)(((byte)(238)))));\n\t\t\tthis._metroSetProgressBar4.DisabledBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(238)))), ((int)(((byte)(238)))), ((int)(((byte)(238)))));\n\t\t\tthis._metroSetProgressBar4.DisabledBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(238)))), ((int)(((byte)(238)))), ((int)(((byte)(238)))));\n\t\t\tthis._metroSetProgressBar4.DisabledProgressColor = System.Drawing.Color.FromArgb(((int)(((byte)(120)))), ((int)(((byte)(65)))), ((int)(((byte)(177)))), ((int)(((byte)(225)))));\n\t\t\tthis._metroSetProgressBar4.Enabled = false;\n\t\t\tthis._metroSetProgressBar4.IsDerivedStyle = true;\n\t\t\tthis._metroSetProgressBar4.Location = new System.Drawing.Point(144, 289);\n\t\t\tthis._metroSetProgressBar4.Maximum = 100;\n\t\t\tthis._metroSetProgressBar4.Minimum = 0;\n\t\t\tthis._metroSetProgressBar4.Name = \"_metroSetProgressBar4\";\n\t\t\tthis._metroSetProgressBar4.Orientation = MetroSet_UI.Enums.ProgressOrientation.Vertical;\n\t\t\tthis._metroSetProgressBar4.ProgressColor = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(177)))), ((int)(((byte)(225)))));\n\t\t\tthis._metroSetProgressBar4.Size = new System.Drawing.Size(30, 211);\n\t\t\tthis._metroSetProgressBar4.Style = MetroSet_UI.Enums.Style.Light;\n\t\t\tthis._metroSetProgressBar4.StyleManager = this.styleManager1;\n\t\t\tthis._metroSetProgressBar4.TabIndex = 3;\n\t\t\tthis._metroSetProgressBar4.Text = \"_metroSetProgressBar3\";\n\t\t\tthis._metroSetProgressBar4.ThemeAuthor = \"Narwin\";\n\t\t\tthis._metroSetProgressBar4.ThemeName = \"MetroLite\";\n\t\t\tthis._metroSetProgressBar4.Value = 30;\n\t\t\t// \n\t\t\t// _metroSetProgressBar3\n\t\t\t// \n\t\t\tthis._metroSetProgressBar3.BackgroundColor = System.Drawing.Color.FromArgb(((int)(((byte)(238)))), ((int)(((byte)(238)))), ((int)(((byte)(238)))));\n\t\t\tthis._metroSetProgressBar3.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(238)))), ((int)(((byte)(238)))), ((int)(((byte)(238)))));\n\t\t\tthis._metroSetProgressBar3.DisabledBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(238)))), ((int)(((byte)(238)))), ((int)(((byte)(238)))));\n\t\t\tthis._metroSetProgressBar3.DisabledBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(238)))), ((int)(((byte)(238)))), ((int)(((byte)(238)))));\n\t\t\tthis._metroSetProgressBar3.DisabledProgressColor = System.Drawing.Color.FromArgb(((int)(((byte)(120)))), ((int)(((byte)(65)))), ((int)(((byte)(177)))), ((int)(((byte)(225)))));\n\t\t\tthis._metroSetProgressBar3.IsDerivedStyle = true;\n\t\t\tthis._metroSetProgressBar3.Location = new System.Drawing.Point(15, 289);\n\t\t\tthis._metroSetProgressBar3.Maximum = 100;\n\t\t\tthis._metroSetProgressBar3.Minimum = 0;\n\t\t\tthis._metroSetProgressBar3.Name = \"_metroSetProgressBar3\";\n\t\t\tthis._metroSetProgressBar3.Orientation = MetroSet_UI.Enums.ProgressOrientation.Vertical;\n\t\t\tthis._metroSetProgressBar3.ProgressColor = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(177)))), ((int)(((byte)(225)))));\n\t\t\tthis._metroSetProgressBar3.Size = new System.Drawing.Size(30, 211);\n\t\t\tthis._metroSetProgressBar3.Style = MetroSet_UI.Enums.Style.Light;\n\t\t\tthis._metroSetProgressBar3.StyleManager = this.styleManager1;\n\t\t\tthis._metroSetProgressBar3.TabIndex = 3;\n\t\t\tthis._metroSetProgressBar3.Text = \"_metroSetProgressBar3\";\n\t\t\tthis._metroSetProgressBar3.ThemeAuthor = \"Narwin\";\n\t\t\tthis._metroSetProgressBar3.ThemeName = \"MetroLite\";\n\t\t\tthis._metroSetProgressBar3.Value = 70;\n\t\t\t// \n\t\t\t// _metroSetLabel14\n\t\t\t// \n\t\t\tthis._metroSetLabel14.Font = new System.Drawing.Font(\"Microsoft Sans Serif\", 10F);\n\t\t\tthis._metroSetLabel14.IsDerivedStyle = true;\n\t\t\tthis._metroSetLabel14.Location = new System.Drawing.Point(15, 209);\n\t\t\tthis._metroSetLabel14.Name = \"_metroSetLabel14\";\n\t\t\tthis._metroSetLabel14.Size = new System.Drawing.Size(159, 23);\n\t\t\tthis._metroSetLabel14.Style = MetroSet_UI.Enums.Style.Light;\n\t\t\tthis._metroSetLabel14.StyleManager = this.styleManager1;\n\t\t\tthis._metroSetLabel14.TabIndex = 2;\n\t\t\tthis._metroSetLabel14.Text = \"Vertical ProgressBar\";\n\t\t\tthis._metroSetLabel14.ThemeAuthor = \"Narwin\";\n\t\t\tthis._metroSetLabel14.ThemeName = \"MetroLite\";\n\t\t\t// \n\t\t\t// _metroSetLabel15\n\t\t\t// \n\t\t\tthis._metroSetLabel15.Font = new System.Drawing.Font(\"Microsoft Sans Serif\", 10F);\n\t\t\tthis._metroSetLabel15.IsDerivedStyle = true;\n\t\t\tthis._metroSetLabel15.Location = new System.Drawing.Point(494, 59);\n\t\t\tthis._metroSetLabel15.Name = \"_metroSetLabel15\";\n\t\t\tthis._metroSetLabel15.Size = new System.Drawing.Size(159, 23);\n\t\t\tthis._metroSetLabel15.Style = MetroSet_UI.Enums.Style.Light;\n\t\t\tthis._metroSetLabel15.StyleManager = this.styleManager1;\n\t\t\tthis._metroSetLabel15.TabIndex = 2;\n\t\t\tthis._metroSetLabel15.Text = \"Horizontal ProgressBar\";\n\t\t\tthis._metroSetLabel15.ThemeAuthor = \"Narwin\";\n\t\t\tthis._metroSetLabel15.ThemeName = \"MetroLite\";\n\t\t\t// \n\t\t\t// _metroSetLabel13\n\t\t\t// \n\t\t\tthis._metroSetLabel13.Font = new System.Drawing.Font(\"Microsoft Sans Serif\", 10F);\n\t\t\tthis._metroSetLabel13.IsDerivedStyle = true;\n\t\t\tthis._metroSetLabel13.Location = new System.Drawing.Point(15, 59);\n\t\t\tthis._metroSetLabel13.Name = \"_metroSetLabel13\";\n\t\t\tthis._metroSetLabel13.Size = new System.Drawing.Size(159, 23);\n\t\t\tthis._metroSetLabel13.Style = MetroSet_UI.Enums.Style.Light;\n\t\t\tthis._metroSetLabel13.StyleManager = this.styleManager1;\n\t\t\tthis._metroSetLabel13.TabIndex = 2;\n\t\t\tthis._metroSetLabel13.Text = \"Horizontal ProgressBar\";\n\t\t\tthis._metroSetLabel13.ThemeAuthor = \"Narwin\";\n\t\t\tthis._metroSetLabel13.ThemeName = \"MetroLite\";\n\t\t\t// \n\t\t\t// _metroSetProgressBar2\n\t\t\t// \n\t\t\tthis._metroSetProgressBar2.BackgroundColor = System.Drawing.Color.FromArgb(((int)(((byte)(238)))), ((int)(((byte)(238)))), ((int)(((byte)(238)))));\n\t\t\tthis._metroSetProgressBar2.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(238)))), ((int)(((byte)(238)))), ((int)(((byte)(238)))));\n\t\t\tthis._metroSetProgressBar2.DisabledBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(238)))), ((int)(((byte)(238)))), ((int)(((byte)(238)))));\n\t\t\tthis._metroSetProgressBar2.DisabledBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(238)))), ((int)(((byte)(238)))), ((int)(((byte)(238)))));\n\t\t\tthis._metroSetProgressBar2.DisabledProgressColor = System.Drawing.Color.FromArgb(((int)(((byte)(120)))), ((int)(((byte)(65)))), ((int)(((byte)(177)))), ((int)(((byte)(225)))));\n\t\t\tthis._metroSetProgressBar2.Enabled = false;\n\t\t\tthis._metroSetProgressBar2.IsDerivedStyle = true;\n\t\t\tthis._metroSetProgressBar2.Location = new System.Drawing.Point(15, 147);\n\t\t\tthis._metroSetProgressBar2.Maximum = 100;\n\t\t\tthis._metroSetProgressBar2.Minimum = 0;\n\t\t\tthis._metroSetProgressBar2.Name = \"_metroSetProgressBar2\";\n\t\t\tthis._metroSetProgressBar2.Orientation = MetroSet_UI.Enums.ProgressOrientation.Horizontal;\n\t\t\tthis._metroSetProgressBar2.ProgressColor = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(177)))), ((int)(((byte)(225)))));\n\t\t\tthis._metroSetProgressBar2.Size = new System.Drawing.Size(323, 23);\n\t\t\tthis._metroSetProgressBar2.Style = MetroSet_UI.Enums.Style.Light;\n\t\t\tthis._metroSetProgressBar2.StyleManager = this.styleManager1;\n\t\t\tthis._metroSetProgressBar2.TabIndex = 0;\n\t\t\tthis._metroSetProgressBar2.Text = \"_metroSetProgressBar1\";\n\t\t\tthis._metroSetProgressBar2.ThemeAuthor = \"Narwin\";\n\t\t\tthis._metroSetProgressBar2.ThemeName = \"MetroLite\";\n\t\t\tthis._metroSetProgressBar2.Value = 40;\n\t\t\t// \n\t\t\t// _metroSetProgressBar1\n\t\t\t// \n\t\t\tthis._metroSetProgressBar1.BackgroundColor = System.Drawing.Color.FromArgb(((int)(((byte)(238)))), ((int)(((byte)(238)))), ((int)(((byte)(238)))));\n\t\t\tthis._metroSetProgressBar1.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(238)))), ((int)(((byte)(238)))), ((int)(((byte)(238)))));\n\t\t\tthis._metroSetProgressBar1.DisabledBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(238)))), ((int)(((byte)(238)))), ((int)(((byte)(238)))));\n\t\t\tthis._metroSetProgressBar1.DisabledBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(238)))), ((int)(((byte)(238)))), ((int)(((byte)(238)))));\n\t\t\tthis._metroSetProgressBar1.DisabledProgressColor = System.Drawing.Color.FromArgb(((int)(((byte)(120)))), ((int)(((byte)(65)))), ((int)(((byte)(177)))), ((int)(((byte)(225)))));\n\t\t\tthis._metroSetProgressBar1.IsDerivedStyle = true;\n\t\t\tthis._metroSetProgressBar1.Location = new System.Drawing.Point(15, 102);\n\t\t\tthis._metroSetProgressBar1.Maximum = 100;\n\t\t\tthis._metroSetProgressBar1.Minimum = 0;\n\t\t\tthis._metroSetProgressBar1.Name = \"_metroSetProgressBar1\";\n\t\t\tthis._metroSetProgressBar1.Orientation = MetroSet_UI.Enums.ProgressOrientation.Horizontal;\n\t\t\tthis._metroSetProgressBar1.ProgressColor = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(177)))), ((int)(((byte)(225)))));\n\t\t\tthis._metroSetProgressBar1.Size = new System.Drawing.Size(323, 23);\n\t\t\tthis._metroSetProgressBar1.Style = MetroSet_UI.Enums.Style.Light;\n\t\t\tthis._metroSetProgressBar1.StyleManager = this.styleManager1;\n\t\t\tthis._metroSetProgressBar1.TabIndex = 0;\n\t\t\tthis._metroSetProgressBar1.Text = \"_metroSetProgressBar1\";\n\t\t\tthis._metroSetProgressBar1.ThemeAuthor = \"Narwin\";\n\t\t\tthis._metroSetProgressBar1.ThemeName = \"MetroLite\";\n\t\t\tthis._metroSetProgressBar1.Value = 60;\n\t\t\t// \n\t\t\t// _metroSetSetTabPage6\n\t\t\t// \n\t\t\tthis._metroSetSetTabPage6.BaseColor = System.Drawing.Color.White;\n\t\t\tthis._metroSetSetTabPage6.Controls.Add(this._metroSetLink2);\n\t\t\tthis._metroSetSetTabPage6.Controls.Add(this._metroSetLink1);\n\t\t\tthis._metroSetSetTabPage6.Controls.Add(this._metroSetLabel17);\n\t\t\tthis._metroSetSetTabPage6.Controls.Add(this._metroSetLabel16);\n\t\t\tthis._metroSetSetTabPage6.Font = null;\n\t\t\tthis._metroSetSetTabPage6.ImageIndex = 0;\n\t\t\tthis._metroSetSetTabPage6.ImageKey = null;\n\t\t\tthis._metroSetSetTabPage6.IsDerivedStyle = true;\n\t\t\tthis._metroSetSetTabPage6.Location = new System.Drawing.Point(4, 42);\n\t\t\tthis._metroSetSetTabPage6.Name = \"_metroSetSetTabPage6\";\n\t\t\tthis._metroSetSetTabPage6.Size = new System.Drawing.Size(1106, 570);\n\t\t\tthis._metroSetSetTabPage6.Style = MetroSet_UI.Enums.Style.Light;\n\t\t\tthis._metroSetSetTabPage6.StyleManager = this.styleManager1;\n\t\t\tthis._metroSetSetTabPage6.TabIndex = 5;\n\t\t\tthis._metroSetSetTabPage6.Text = \"Labels\";\n\t\t\tthis._metroSetSetTabPage6.ThemeAuthor = \"Narwin\";\n\t\t\tthis._metroSetSetTabPage6.ThemeName = \"MetroLite\";\n\t\t\tthis._metroSetSetTabPage6.ToolTipText = null;\n\t\t\t// \n\t\t\t// _metroSetLink2\n\t\t\t// \n\t\t\tthis._metroSetLink2.Cursor = System.Windows.Forms.Cursors.Hand;\n\t\t\tthis._metroSetLink2.Enabled = false;\n\t\t\tthis._metroSetLink2.Font = new System.Drawing.Font(\"Microsoft Sans Serif\", 10F);\n\t\t\tthis._metroSetLink2.IsDerivedStyle = true;\n\t\t\tthis._metroSetLink2.LinkBehavior = System.Windows.Forms.LinkBehavior.HoverUnderline;\n\t\t\tthis._metroSetLink2.Location = new System.Drawing.Point(309, 110);\n\t\t\tthis._metroSetLink2.Name = \"_metroSetLink2\";\n\t\t\tthis._metroSetLink2.Size = new System.Drawing.Size(100, 23);\n\t\t\tthis._metroSetLink2.Style = MetroSet_UI.Enums.Style.Light;\n\t\t\tthis._metroSetLink2.StyleManager = this.styleManager1;\n\t\t\tthis._metroSetLink2.TabIndex = 5;\n\t\t\tthis._metroSetLink2.TabStop = true;\n\t\t\tthis._metroSetLink2.Text = \"Disabled Link\";\n\t\t\tthis._metroSetLink2.ThemeAuthor = \"Narwin\";\n\t\t\tthis._metroSetLink2.ThemeName = \"MetroLite\";\n\t\t\tthis._metroSetLink2.VisitedLinkColor = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(157)))), ((int)(((byte)(205)))));\n\t\t\t// \n\t\t\t// _metroSetLink1\n\t\t\t// \n\t\t\tthis._metroSetLink1.Cursor = System.Windows.Forms.Cursors.Hand;\n\t\t\tthis._metroSetLink1.Font = new System.Drawing.Font(\"Microsoft Sans Serif\", 10F);\n\t\t\tthis._metroSetLink1.IsDerivedStyle = true;\n\t\t\tthis._metroSetLink1.LinkBehavior = System.Windows.Forms.LinkBehavior.HoverUnderline;\n\t\t\tthis._metroSetLink1.Location = new System.Drawing.Point(309, 59);\n\t\t\tthis._metroSetLink1.Name = \"_metroSetLink1\";\n\t\t\tthis._metroSetLink1.Size = new System.Drawing.Size(100, 23);\n\t\t\tthis._metroSetLink1.Style = MetroSet_UI.Enums.Style.Light;\n\t\t\tthis._metroSetLink1.StyleManager = this.styleManager1;\n\t\t\tthis._metroSetLink1.TabIndex = 5;\n\t\t\tthis._metroSetLink1.TabStop = true;\n\t\t\tthis._metroSetLink1.Text = \"Normal Link\";\n\t\t\tthis._metroSetLink1.ThemeAuthor = \"Narwin\";\n\t\t\tthis._metroSetLink1.ThemeName = \"MetroLite\";\n\t\t\tthis._metroSetLink1.VisitedLinkColor = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(157)))), ((int)(((byte)(205)))));\n\t\t\t// \n\t\t\t// _metroSetLabel17\n\t\t\t// \n\t\t\tthis._metroSetLabel17.Enabled = false;\n\t\t\tthis._metroSetLabel17.Font = new System.Drawing.Font(\"Microsoft Sans Serif\", 10F);\n\t\t\tthis._metroSetLabel17.IsDerivedStyle = true;\n\t\t\tthis._metroSetLabel17.Location = new System.Drawing.Point(15, 110);\n\t\t\tthis._metroSetLabel17.Name = \"_metroSetLabel17\";\n\t\t\tthis._metroSetLabel17.Size = new System.Drawing.Size(108, 23);\n\t\t\tthis._metroSetLabel17.Style = MetroSet_UI.Enums.Style.Light;\n\t\t\tthis._metroSetLabel17.StyleManager = this.styleManager1;\n\t\t\tthis._metroSetLabel17.TabIndex = 3;\n\t\t\tthis._metroSetLabel17.Text = \"Disabled Label\";\n\t\t\tthis._metroSetLabel17.ThemeAuthor = \"Narwin\";\n\t\t\tthis._metroSetLabel17.ThemeName = \"MetroLite\";\n\t\t\t// \n\t\t\t// _metroSetLabel16\n\t\t\t// \n\t\t\tthis._metroSetLabel16.Font = new System.Drawing.Font(\"Microsoft Sans Serif\", 10F);\n\t\t\tthis._metroSetLabel16.IsDerivedStyle = true;\n\t\t\tthis._metroSetLabel16.Location = new System.Drawing.Point(15, 59);\n\t\t\tthis._metroSetLabel16.Name = \"_metroSetLabel16\";\n\t\t\tthis._metroSetLabel16.Size = new System.Drawing.Size(100, 23);\n\t\t\tthis._metroSetLabel16.Style = MetroSet_UI.Enums.Style.Light;\n\t\t\tthis._metroSetLabel16.StyleManager = this.styleManager1;\n\t\t\tthis._metroSetLabel16.TabIndex = 4;\n\t\t\tthis._metroSetLabel16.Text = \"Normal Label\";\n\t\t\tthis._metroSetLabel16.ThemeAuthor = \"Narwin\";\n\t\t\tthis._metroSetLabel16.ThemeName = \"MetroLite\";\n\t\t\t// \n\t\t\t// _metroSetSetTabPage7\n\t\t\t// \n\t\t\tthis._metroSetSetTabPage7.BaseColor = System.Drawing.Color.White;\n\t\t\tthis._metroSetSetTabPage7.Controls.Add(this._metroSetButton7);\n\t\t\tthis._metroSetSetTabPage7.Controls.Add(this._metroSetButton6);\n\t\t\tthis._metroSetSetTabPage7.Controls.Add(this._metroSetButton5);\n\t\t\tthis._metroSetSetTabPage7.Controls.Add(this._metroSetButton4);\n\t\t\tthis._metroSetSetTabPage7.Controls.Add(this._metroSetButton3);\n\t\t\tthis._metroSetSetTabPage7.Controls.Add(this._metroSetLabel18);\n\t\t\tthis._metroSetSetTabPage7.Font = null;\n\t\t\tthis._metroSetSetTabPage7.ImageIndex = 0;\n\t\t\tthis._metroSetSetTabPage7.ImageKey = null;\n\t\t\tthis._metroSetSetTabPage7.IsDerivedStyle = true;\n\t\t\tthis._metroSetSetTabPage7.Location = new System.Drawing.Point(4, 42);\n\t\t\tthis._metroSetSetTabPage7.Name = \"_metroSetSetTabPage7\";\n\t\t\tthis._metroSetSetTabPage7.Size = new System.Drawing.Size(1106, 570);\n\t\t\tthis._metroSetSetTabPage7.Style = MetroSet_UI.Enums.Style.Light;\n\t\t\tthis._metroSetSetTabPage7.StyleManager = this.styleManager1;\n\t\t\tthis._metroSetSetTabPage7.TabIndex = 6;\n\t\t\tthis._metroSetSetTabPage7.Text = \"Message\";\n\t\t\tthis._metroSetSetTabPage7.ThemeAuthor = \"Narwin\";\n\t\t\tthis._metroSetSetTabPage7.ThemeName = \"MetroLite\";\n\t\t\tthis._metroSetSetTabPage7.ToolTipText = null;\n\t\t\t// \n\t\t\t// _metroSetButton7\n\t\t\t// \n\t\t\tthis._metroSetButton7.DisabledBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(204)))), ((int)(((byte)(204)))), ((int)(((byte)(204)))));\n\t\t\tthis._metroSetButton7.DisabledBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(155)))), ((int)(((byte)(155)))), ((int)(((byte)(155)))));\n\t\t\tthis._metroSetButton7.DisabledForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(136)))), ((int)(((byte)(136)))), ((int)(((byte)(136)))));\n\t\t\tthis._metroSetButton7.Font = new System.Drawing.Font(\"Microsoft Sans Serif\", 10F);\n\t\t\tthis._metroSetButton7.HoverBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(102)))), ((int)(((byte)(102)))), ((int)(((byte)(102)))));\n\t\t\tthis._metroSetButton7.HoverColor = System.Drawing.Color.FromArgb(((int)(((byte)(102)))), ((int)(((byte)(102)))), ((int)(((byte)(102)))));\n\t\t\tthis._metroSetButton7.HoverTextColor = System.Drawing.Color.White;\n\t\t\tthis._metroSetButton7.IsDerivedStyle = true;\n\t\t\tthis._metroSetButton7.Location = new System.Drawing.Point(506, 111);\n\t\t\tthis._metroSetButton7.Name = \"_metroSetButton7\";\n\t\t\tthis._metroSetButton7.NormalBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(204)))), ((int)(((byte)(204)))), ((int)(((byte)(204)))));\n\t\t\tthis._metroSetButton7.NormalColor = System.Drawing.Color.FromArgb(((int)(((byte)(238)))), ((int)(((byte)(238)))), ((int)(((byte)(238)))));\n\t\t\tthis._metroSetButton7.NormalTextColor = System.Drawing.Color.Black;\n\t\t\tthis._metroSetButton7.PressBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(51)))), ((int)(((byte)(51)))), ((int)(((byte)(51)))));\n\t\t\tthis._metroSetButton7.PressColor = System.Drawing.Color.FromArgb(((int)(((byte)(51)))), ((int)(((byte)(51)))), ((int)(((byte)(51)))));\n\t\t\tthis._metroSetButton7.PressTextColor = System.Drawing.Color.White;\n\t\t\tthis._metroSetButton7.Size = new System.Drawing.Size(167, 40);\n\t\t\tthis._metroSetButton7.Style = MetroSet_UI.Enums.Style.Light;\n\t\t\tthis._metroSetButton7.StyleManager = this.styleManager1;\n\t\t\tthis._metroSetButton7.TabIndex = 2;\n\t\t\tthis._metroSetButton7.Text = \"Question Message\";\n\t\t\tthis._metroSetButton7.ThemeAuthor = \"Narwin\";\n\t\t\tthis._metroSetButton7.ThemeName = \"MetroLite\";\n\t\t\tthis._metroSetButton7.Click += new System.EventHandler(this.MetroSetButton7_Click_1);\n\t\t\t// \n\t\t\t// _metroSetButton6\n\t\t\t// \n\t\t\tthis._metroSetButton6.DisabledBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(204)))), ((int)(((byte)(204)))), ((int)(((byte)(204)))));\n\t\t\tthis._metroSetButton6.DisabledBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(155)))), ((int)(((byte)(155)))), ((int)(((byte)(155)))));\n\t\t\tthis._metroSetButton6.DisabledForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(136)))), ((int)(((byte)(136)))), ((int)(((byte)(136)))));\n\t\t\tthis._metroSetButton6.Font = new System.Drawing.Font(\"Microsoft Sans Serif\", 10F);\n\t\t\tthis._metroSetButton6.HoverBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(102)))), ((int)(((byte)(102)))), ((int)(((byte)(102)))));\n\t\t\tthis._metroSetButton6.HoverColor = System.Drawing.Color.FromArgb(((int)(((byte)(102)))), ((int)(((byte)(102)))), ((int)(((byte)(102)))));\n\t\t\tthis._metroSetButton6.HoverTextColor = System.Drawing.Color.White;\n\t\t\tthis._metroSetButton6.IsDerivedStyle = true;\n\t\t\tthis._metroSetButton6.Location = new System.Drawing.Point(258, 183);\n\t\t\tthis._metroSetButton6.Name = \"_metroSetButton6\";\n\t\t\tthis._metroSetButton6.NormalBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(204)))), ((int)(((byte)(204)))), ((int)(((byte)(204)))));\n\t\t\tthis._metroSetButton6.NormalColor = System.Drawing.Color.FromArgb(((int)(((byte)(238)))), ((int)(((byte)(238)))), ((int)(((byte)(238)))));\n\t\t\tthis._metroSetButton6.NormalTextColor = System.Drawing.Color.Black;\n\t\t\tthis._metroSetButton6.PressBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(51)))), ((int)(((byte)(51)))), ((int)(((byte)(51)))));\n\t\t\tthis._metroSetButton6.PressColor = System.Drawing.Color.FromArgb(((int)(((byte)(51)))), ((int)(((byte)(51)))), ((int)(((byte)(51)))));\n\t\t\tthis._metroSetButton6.PressTextColor = System.Drawing.Color.White;\n\t\t\tthis._metroSetButton6.Size = new System.Drawing.Size(167, 40);\n\t\t\tthis._metroSetButton6.Style = MetroSet_UI.Enums.Style.Light;\n\t\t\tthis._metroSetButton6.StyleManager = this.styleManager1;\n\t\t\tthis._metroSetButton6.TabIndex = 1;\n\t\t\tthis._metroSetButton6.Text = \"Warning Message\";\n\t\t\tthis._metroSetButton6.ThemeAuthor = \"Narwin\";\n\t\t\tthis._metroSetButton6.ThemeName = \"MetroLite\";\n\t\t\tthis._metroSetButton6.Click += new System.EventHandler(this.MetroSetButton6_Click);\n\t\t\t// \n\t\t\t// _metroSetButton5\n\t\t\t// \n\t\t\tthis._metroSetButton5.DisabledBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(204)))), ((int)(((byte)(204)))), ((int)(((byte)(204)))));\n\t\t\tthis._metroSetButton5.DisabledBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(155)))), ((int)(((byte)(155)))), ((int)(((byte)(155)))));\n\t\t\tthis._metroSetButton5.DisabledForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(136)))), ((int)(((byte)(136)))), ((int)(((byte)(136)))));\n\t\t\tthis._metroSetButton5.Font = new System.Drawing.Font(\"Microsoft Sans Serif\", 10F);\n\t\t\tthis._metroSetButton5.HoverBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(102)))), ((int)(((byte)(102)))), ((int)(((byte)(102)))));\n\t\t\tthis._metroSetButton5.HoverColor = System.Drawing.Color.FromArgb(((int)(((byte)(102)))), ((int)(((byte)(102)))), ((int)(((byte)(102)))));\n\t\t\tthis._metroSetButton5.HoverTextColor = System.Drawing.Color.White;\n\t\t\tthis._metroSetButton5.IsDerivedStyle = true;\n\t\t\tthis._metroSetButton5.Location = new System.Drawing.Point(258, 111);\n\t\t\tthis._metroSetButton5.Name = \"_metroSetButton5\";\n\t\t\tthis._metroSetButton5.NormalBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(204)))), ((int)(((byte)(204)))), ((int)(((byte)(204)))));\n\t\t\tthis._metroSetButton5.NormalColor = System.Drawing.Color.FromArgb(((int)(((byte)(238)))), ((int)(((byte)(238)))), ((int)(((byte)(238)))));\n\t\t\tthis._metroSetButton5.NormalTextColor = System.Drawing.Color.Black;\n\t\t\tthis._metroSetButton5.PressBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(51)))), ((int)(((byte)(51)))), ((int)(((byte)(51)))));\n\t\t\tthis._metroSetButton5.PressColor = System.Drawing.Color.FromArgb(((int)(((byte)(51)))), ((int)(((byte)(51)))), ((int)(((byte)(51)))));\n\t\t\tthis._metroSetButton5.PressTextColor = System.Drawing.Color.White;\n\t\t\tthis._metroSetButton5.Size = new System.Drawing.Size(167, 40);\n\t\t\tthis._metroSetButton5.Style = MetroSet_UI.Enums.Style.Light;\n\t\t\tthis._metroSetButton5.StyleManager = this.styleManager1;\n\t\t\tthis._metroSetButton5.TabIndex = 1;\n\t\t\tthis._metroSetButton5.Text = \"Info Message\";\n\t\t\tthis._metroSetButton5.ThemeAuthor = \"Narwin\";\n\t\t\tthis._metroSetButton5.ThemeName = \"MetroLite\";\n\t\t\tthis._metroSetButton5.Click += new System.EventHandler(this.MetroSetButton5_Click);\n\t\t\t// \n\t\t\t// _metroSetButton4\n\t\t\t// \n\t\t\tthis._metroSetButton4.DisabledBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(204)))), ((int)(((byte)(204)))), ((int)(((byte)(204)))));\n\t\t\tthis._metroSetButton4.DisabledBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(155)))), ((int)(((byte)(155)))), ((int)(((byte)(155)))));\n\t\t\tthis._metroSetButton4.DisabledForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(136)))), ((int)(((byte)(136)))), ((int)(((byte)(136)))));\n\t\t\tthis._metroSetButton4.Font = new System.Drawing.Font(\"Microsoft Sans Serif\", 10F);\n\t\t\tthis._metroSetButton4.HoverBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(102)))), ((int)(((byte)(102)))), ((int)(((byte)(102)))));\n\t\t\tthis._metroSetButton4.HoverColor = System.Drawing.Color.FromArgb(((int)(((byte)(102)))), ((int)(((byte)(102)))), ((int)(((byte)(102)))));\n\t\t\tthis._metroSetButton4.HoverTextColor = System.Drawing.Color.White;\n\t\t\tthis._metroSetButton4.IsDerivedStyle = true;\n\t\t\tthis._metroSetButton4.Location = new System.Drawing.Point(15, 183);\n\t\t\tthis._metroSetButton4.Name = \"_metroSetButton4\";\n\t\t\tthis._metroSetButton4.NormalBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(204)))), ((int)(((byte)(204)))), ((int)(((byte)(204)))));\n\t\t\tthis._metroSetButton4.NormalColor = System.Drawing.Color.FromArgb(((int)(((byte)(238)))), ((int)(((byte)(238)))), ((int)(((byte)(238)))));\n\t\t\tthis._metroSetButton4.NormalTextColor = System.Drawing.Color.Black;\n\t\t\tthis._metroSetButton4.PressBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(51)))), ((int)(((byte)(51)))), ((int)(((byte)(51)))));\n\t\t\tthis._metroSetButton4.PressColor = System.Drawing.Color.FromArgb(((int)(((byte)(51)))), ((int)(((byte)(51)))), ((int)(((byte)(51)))));\n\t\t\tthis._metroSetButton4.PressTextColor = System.Drawing.Color.White;\n\t\t\tthis._metroSetButton4.Size = new System.Drawing.Size(167, 40);\n\t\t\tthis._metroSetButton4.Style = MetroSet_UI.Enums.Style.Light;\n\t\t\tthis._metroSetButton4.StyleManager = this.styleManager1;\n\t\t\tthis._metroSetButton4.TabIndex = 1;\n\t\t\tthis._metroSetButton4.Text = \"Stop Message\";\n\t\t\tthis._metroSetButton4.ThemeAuthor = \"Narwin\";\n\t\t\tthis._metroSetButton4.ThemeName = \"MetroLite\";\n\t\t\tthis._metroSetButton4.Click += new System.EventHandler(this.MetroSetButton4_Click);\n\t\t\t// \n\t\t\t// _metroSetButton3\n\t\t\t// \n\t\t\tthis._metroSetButton3.DisabledBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(204)))), ((int)(((byte)(204)))), ((int)(((byte)(204)))));\n\t\t\tthis._metroSetButton3.DisabledBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(155)))), ((int)(((byte)(155)))), ((int)(((byte)(155)))));\n\t\t\tthis._metroSetButton3.DisabledForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(136)))), ((int)(((byte)(136)))), ((int)(((byte)(136)))));\n\t\t\tthis._metroSetButton3.Font = new System.Drawing.Font(\"Microsoft Sans Serif\", 10F);\n\t\t\tthis._metroSetButton3.HoverBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(102)))), ((int)(((byte)(102)))), ((int)(((byte)(102)))));\n\t\t\tthis._metroSetButton3.HoverColor = System.Drawing.Color.FromArgb(((int)(((byte)(102)))), ((int)(((byte)(102)))), ((int)(((byte)(102)))));\n\t\t\tthis._metroSetButton3.HoverTextColor = System.Drawing.Color.White;\n\t\t\tthis._metroSetButton3.IsDerivedStyle = true;\n\t\t\tthis._metroSetButton3.Location = new System.Drawing.Point(15, 111);\n\t\t\tthis._metroSetButton3.Name = \"_metroSetButton3\";\n\t\t\tthis._metroSetButton3.NormalBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(204)))), ((int)(((byte)(204)))), ((int)(((byte)(204)))));\n\t\t\tthis._metroSetButton3.NormalColor = System.Drawing.Color.FromArgb(((int)(((byte)(238)))), ((int)(((byte)(238)))), ((int)(((byte)(238)))));\n\t\t\tthis._metroSetButton3.NormalTextColor = System.Drawing.Color.Black;\n\t\t\tthis._metroSetButton3.PressBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(51)))), ((int)(((byte)(51)))), ((int)(((byte)(51)))));\n\t\t\tthis._metroSetButton3.PressColor = System.Drawing.Color.FromArgb(((int)(((byte)(51)))), ((int)(((byte)(51)))), ((int)(((byte)(51)))));\n\t\t\tthis._metroSetButton3.PressTextColor = System.Drawing.Color.White;\n\t\t\tthis._metroSetButton3.Size = new System.Drawing.Size(167, 40);\n\t\t\tthis._metroSetButton3.Style = MetroSet_UI.Enums.Style.Light;\n\t\t\tthis._metroSetButton3.StyleManager = this.styleManager1;\n\t\t\tthis._metroSetButton3.TabIndex = 1;\n\t\t\tthis._metroSetButton3.Text = \"Normal Message\";\n\t\t\tthis._metroSetButton3.ThemeAuthor = \"Narwin\";\n\t\t\tthis._metroSetButton3.ThemeName = \"MetroLite\";\n\t\t\tthis._metroSetButton3.Click += new System.EventHandler(this.MetroSetButton3_Click);\n\t\t\t// \n\t\t\t// _metroSetLabel18\n\t\t\t// \n\t\t\tthis._metroSetLabel18.Font = new System.Drawing.Font(\"Microsoft Sans Serif\", 10F);\n\t\t\tthis._metroSetLabel18.IsDerivedStyle = true;\n\t\t\tthis._metroSetLabel18.Location = new System.Drawing.Point(15, 59);\n\t\t\tthis._metroSetLabel18.Name = \"_metroSetLabel18\";\n\t\t\tthis._metroSetLabel18.Size = new System.Drawing.Size(100, 23);\n\t\t\tthis._metroSetLabel18.Style = MetroSet_UI.Enums.Style.Light;\n\t\t\tthis._metroSetLabel18.StyleManager = this.styleManager1;\n\t\t\tthis._metroSetLabel18.TabIndex = 0;\n\t\t\tthis._metroSetLabel18.Text = \"MessageBox\";\n\t\t\tthis._metroSetLabel18.ThemeAuthor = \"Narwin\";\n\t\t\tthis._metroSetLabel18.ThemeName = \"MetroLite\";\n\t\t\t// \n\t\t\t// _metroSetSetTabPage8\n\t\t\t// \n\t\t\tthis._metroSetSetTabPage8.BaseColor = System.Drawing.Color.White;\n\t\t\tthis._metroSetSetTabPage8.Font = null;\n\t\t\tthis._metroSetSetTabPage8.ImageIndex = 0;\n\t\t\tthis._metroSetSetTabPage8.ImageKey = null;\n\t\t\tthis._metroSetSetTabPage8.IsDerivedStyle = true;\n\t\t\tthis._metroSetSetTabPage8.Location = new System.Drawing.Point(4, 42);\n\t\t\tthis._metroSetSetTabPage8.Name = \"_metroSetSetTabPage8\";\n\t\t\tthis._metroSetSetTabPage8.Size = new System.Drawing.Size(1106, 570);\n\t\t\tthis._metroSetSetTabPage8.Style = MetroSet_UI.Enums.Style.Light;\n\t\t\tthis._metroSetSetTabPage8.StyleManager = null;\n\t\t\tthis._metroSetSetTabPage8.TabIndex = 8;\n\t\t\tthis._metroSetSetTabPage8.Text = \"DataGrid\";\n\t\t\tthis._metroSetSetTabPage8.ThemeAuthor = \"Narwin\";\n\t\t\tthis._metroSetSetTabPage8.ThemeName = \"MetroLite\";\n\t\t\tthis._metroSetSetTabPage8.ToolTipText = null;\n\t\t\t// \n\t\t\t// _metroSetControlBox1\n\t\t\t// \n\t\t\tthis._metroSetControlBox1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));\n\t\t\tthis._metroSetControlBox1.BackColor = System.Drawing.Color.Transparent;\n\t\t\tthis._metroSetControlBox1.CloseHoverBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(183)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));\n\t\t\tthis._metroSetControlBox1.CloseHoverForeColor = System.Drawing.Color.White;\n\t\t\tthis._metroSetControlBox1.CloseNormalForeColor = System.Drawing.Color.Gray;\n\t\t\tthis._metroSetControlBox1.DisabledForeColor = System.Drawing.Color.DimGray;\n\t\t\tthis._metroSetControlBox1.IsDerivedStyle = true;\n\t\t\tthis._metroSetControlBox1.Location = new System.Drawing.Point(1026, 13);\n\t\t\tthis._metroSetControlBox1.MaximizeBox = true;\n\t\t\tthis._metroSetControlBox1.MaximizeHoverBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(238)))), ((int)(((byte)(238)))), ((int)(((byte)(238)))));\n\t\t\tthis._metroSetControlBox1.MaximizeHoverForeColor = System.Drawing.Color.Gray;\n\t\t\tthis._metroSetControlBox1.MaximizeNormalForeColor = System.Drawing.Color.Gray;\n\t\t\tthis._metroSetControlBox1.MinimizeBox = true;\n\t\t\tthis._metroSetControlBox1.MinimizeHoverBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(238)))), ((int)(((byte)(238)))), ((int)(((byte)(238)))));\n\t\t\tthis._metroSetControlBox1.MinimizeHoverForeColor = System.Drawing.Color.Gray;\n\t\t\tthis._metroSetControlBox1.MinimizeNormalForeColor = System.Drawing.Color.Gray;\n\t\t\tthis._metroSetControlBox1.Name = \"_metroSetControlBox1\";\n\t\t\tthis._metroSetControlBox1.Size = new System.Drawing.Size(100, 25);\n\t\t\tthis._metroSetControlBox1.Style = MetroSet_UI.Enums.Style.Light;\n\t\t\tthis._metroSetControlBox1.StyleManager = this.styleManager1;\n\t\t\tthis._metroSetControlBox1.TabIndex = 1;\n\t\t\tthis._metroSetControlBox1.Text = \"_metroSetControlBox1\";\n\t\t\tthis._metroSetControlBox1.ThemeAuthor = \"Narwin\";\n\t\t\tthis._metroSetControlBox1.ThemeName = \"MetroLite\";\n\t\t\t// \n\t\t\t// _metroSetSetToolTip1\n\t\t\t// \n\t\t\tthis._metroSetSetToolTip1.BackColor = System.Drawing.Color.White;\n\t\t\tthis._metroSetSetToolTip1.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(204)))), ((int)(((byte)(204)))), ((int)(((byte)(204)))));\n\t\t\tthis._metroSetSetToolTip1.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(170)))), ((int)(((byte)(170)))), ((int)(((byte)(170)))));\n\t\t\tthis._metroSetSetToolTip1.IsDerivedStyle = true;\n\t\t\tthis._metroSetSetToolTip1.OwnerDraw = true;\n\t\t\tthis._metroSetSetToolTip1.Style = MetroSet_UI.Enums.Style.Light;\n\t\t\tthis._metroSetSetToolTip1.StyleManager = null;\n\t\t\tthis._metroSetSetToolTip1.ThemeAuthor = \"Narwin\";\n\t\t\tthis._metroSetSetToolTip1.ThemeName = \"MetroLite\";\n\t\t\t// \n\t\t\t// Form1\n\t\t\t// \n\t\t\tthis.AutoScaleDimensions = new System.Drawing.SizeF(10F, 20F);\n\t\t\tthis.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;\n\t\t\tthis.ClientSize = new System.Drawing.Size(1138, 698);\n\t\t\tthis.Controls.Add(this._metroSetControlBox1);\n\t\t\tthis.Controls.Add(this._metroSetTabControl1);\n\t\t\tthis.Name = \"Form1\";\n\t\t\tthis.SmallRectThickness = 2;\n\t\t\tthis.StyleManager = this.styleManager1;\n\t\t\tthis.Text = \"METROSET UI\";\n\t\t\tthis._metroSetTabControl1.ResumeLayout(false);\n\t\t\tthis._metroSetSetTabPage2.ResumeLayout(false);\n\t\t\tthis._metroSetSetTabPage1.ResumeLayout(false);\n\t\t\tthis._metroSetSetTabPage3.ResumeLayout(false);\n\t\t\tthis._metroSetContextMenuStrip1.ResumeLayout(false);\n\t\t\tthis._metroSetSetTabPage4.ResumeLayout(false);\n\t\t\tthis._metroSetSetTabPage5.ResumeLayout(false);\n\t\t\tthis._metroSetSetTabPage6.ResumeLayout(false);\n\t\t\tthis._metroSetSetTabPage7.ResumeLayout(false);\n\t\t\tthis.ResumeLayout(false);\n\n\t\t}\n\n\t\t#endregion\n\n\t\tprivate MetroSet_UI.Controls.MetroSetTabControl _metroSetTabControl1;\n\t\tprivate MetroSet_UI.Child.MetroSetSetTabPage _metroSetSetTabPage2;\n\t\tprivate MetroSet_UI.Child.MetroSetSetTabPage _metroSetSetTabPage3;\n\t\tprivate MetroSet_UI.Child.MetroSetSetTabPage _metroSetSetTabPage4;\n\t\tprivate MetroSet_UI.Child.MetroSetSetTabPage _metroSetSetTabPage5;\n\t\tprivate MetroSet_UI.Child.MetroSetSetTabPage _metroSetSetTabPage6;\n\t\tprivate MetroSet_UI.Child.MetroSetSetTabPage _metroSetSetTabPage7;\n\t\tprivate MetroSet_UI.Controls.MetroSetControlBox _metroSetControlBox1;\n\t\tprivate MetroSet_UI.Controls.MetroSetDefaultButton _metroSetDefaultButton1;\n\t\tprivate MetroSet_UI.Controls.MetroSetBadge _metroSetBadge1;\n\t\tprivate MetroSet_UI.Controls.MetroSetLabel _metroSetLabel2;\n\t\tprivate MetroSet_UI.Controls.MetroSetLabel _metroSetLabel1;\n\t\tprivate MetroSet_UI.Controls.MetroSetDefaultButton _metroSetDefaultButton2;\n\t\tprivate MetroSet_UI.Controls.MetroSetBadge _metroSetBadge2;\n\t\tprivate MetroSet_UI.Controls.MetroSetEllipse _metroSetEllipse3;\n\t\tprivate MetroSet_UI.Controls.MetroSetEllipse _metroSetEllipse2;\n\t\tprivate MetroSet_UI.Controls.MetroSetEllipse _metroSetEllipse1;\n\t\tprivate MetroSet_UI.Controls.MetroSetLabel _metroSetLabel3;\n\t\tprivate MetroSet_UI.Controls.MetroSetTextBox _metroSetTextBox1;\n\t\tprivate MetroSet_UI.Controls.MetroSetLabel _metroSetLabel5;\n\t\tprivate MetroSet_UI.Controls.MetroSetTextBox _metroSetTextBox2;\n\t\tprivate MetroSet_UI.Controls.MetroSetNumeric _metroSetNumeric2;\n\t\tprivate MetroSet_UI.Controls.MetroSetTextBox _metroSetTextBox3;\n\t\tprivate MetroSet_UI.Controls.MetroSetLabel _metroSetLabel6;\n\t\tprivate MetroSet_UI.Controls.MetroSetLabel _metroSetLabel7;\n\t\tprivate MetroSet_UI.Controls.MetroSetNumeric _metroSetNumeric3;\n\t\tprivate MetroSet_UI.Controls.MetroSetComboBox _metroSetComboBox2;\n\t\tprivate MetroSet_UI.Controls.MetroSetComboBox _metroSetComboBox1;\n\t\tprivate MetroSet_UI.Controls.MetroSetLabel _metroSetLabel8;\n\t\tprivate MetroSet_UI.Controls.MetroSetLabel _metroSetLabel9;\n\t\tprivate MetroSet_UI.Controls.MetroSetListBox _metroSetListBox2;\n\t\tprivate MetroSet_UI.Controls.MetroSetCheckBox _metroSetCheckBox5;\n\t\tprivate MetroSet_UI.Controls.MetroSetCheckBox _metroSetCheckBox4;\n\t\tprivate MetroSet_UI.Controls.MetroSetCheckBox _metroSetCheckBox3;\n\t\tprivate MetroSet_UI.Controls.MetroSetCheckBox _metroSetCheckBox2;\n\t\tprivate MetroSet_UI.Controls.MetroSetCheckBox _metroSetCheckBox1;\n\t\tprivate MetroSet_UI.Controls.MetroSetLabel _metroSetLabel10;\n\t\tprivate MetroSet_UI.Controls.MetroSetCheckBox _metroSetCheckBox6;\n\t\tprivate MetroSet_UI.Controls.MetroSetRadioButton _metroSetRadioButton4;\n\t\tprivate MetroSet_UI.Controls.MetroSetRadioButton _metroSetRadioButton3;\n\t\tprivate MetroSet_UI.Controls.MetroSetRadioButton _metroSetRadioButton2;\n\t\tprivate MetroSet_UI.Controls.MetroSetRadioButton _metroSetRadioButton1;\n\t\tprivate MetroSet_UI.Controls.MetroSetLabel _metroSetLabel11;\n\t\tprivate MetroSet_UI.Controls.MetroSetSwitch _metroSetSwitch3;\n\t\tprivate MetroSet_UI.Controls.MetroSetSwitch _metroSetSwitch2;\n\t\tprivate MetroSet_UI.Controls.MetroSetSwitch _metroSetSwitch1;\n\t\tprivate MetroSet_UI.Controls.MetroSetLabel _metroSetLabel12;\n\t\tprivate MetroSet_UI.Controls.MetroSetLabel _metroSetLabel13;\n\t\tprivate MetroSet_UI.Controls.MetroSetProgressBar _metroSetProgressBar2;\n\t\tprivate MetroSet_UI.Controls.MetroSetProgressBar _metroSetProgressBar1;\n\t\tprivate MetroSet_UI.Controls.MetroSetProgressBar _metroSetProgressBar3;\n\t\tprivate MetroSet_UI.Controls.MetroSetProgressBar _metroSetProgressBar4;\n\t\tprivate MetroSet_UI.Controls.MetroSetLabel _metroSetLabel14;\n\t\tprivate MetroSet_UI.Controls.MetroSetTrackBar _metroSetTrackBar2;\n\t\tprivate MetroSet_UI.Controls.MetroSetTrackBar _metroSetTrackBar1;\n\t\tprivate MetroSet_UI.Controls.MetroSetLabel _metroSetLabel15;\n\t\tprivate MetroSet_UI.Controls.MetroSetLink _metroSetLink2;\n\t\tprivate MetroSet_UI.Controls.MetroSetLink _metroSetLink1;\n\t\tprivate MetroSet_UI.Controls.MetroSetLabel _metroSetLabel17;\n\t\tprivate MetroSet_UI.Controls.MetroSetLabel _metroSetLabel16;\n\t\tprivate MetroSet_UI.Controls.MetroSetDefaultButton _metroSetButton6;\n\t\tprivate MetroSet_UI.Controls.MetroSetDefaultButton _metroSetButton5;\n\t\tprivate MetroSet_UI.Controls.MetroSetDefaultButton _metroSetButton4;\n\t\tprivate MetroSet_UI.Controls.MetroSetDefaultButton _metroSetButton3;\n\t\tprivate MetroSet_UI.Controls.MetroSetLabel _metroSetLabel18;\n\t\tprivate MetroSet_UI.Controls.MetroSetDefaultButton _metroSetButton7;\n\t\tprivate MetroSet_UI.Controls.MetroSetSwitch _metroSetSwitch4;\n\t\tprivate MetroSet_UI.Controls.MetroSetTextBox _metroSetTextBox4;\n\t\tprivate MetroSet_UI.Controls.MetroSetButton _metroSetButton2;\n\t\tprivate MetroSet_UI.Controls.MetroSetButton _metroSetButton1;\n\t\tprivate MetroSet_UI.Controls.MetroSetLabel _metroSetLabel19;\n\t\tprivate MetroSet_UI.Child.MetroSetSetTabPage _metroSetSetTabPage1;\n\t\tprivate MetroSet_UI.Controls.MetroSetTile _metroSetTile4;\n\t\tprivate MetroSet_UI.Controls.MetroSetTile _metroSetTile2;\n\t\tprivate MetroSet_UI.Controls.MetroSetTile _metroSetTile3;\n\t\tprivate MetroSet_UI.Controls.MetroSetTile _metroSetTile1;\n\t\tprivate MetroSet_UI.Controls.MetroSetLabel _metroSetLabel4;\n\t\tprivate MetroSet_UI.Controls.MetroSetTile _metroSetTile8;\n\t\tprivate MetroSet_UI.Controls.MetroSetTile _metroSetTile7;\n\t\tprivate MetroSet_UI.Controls.MetroSetTile _metroSetTile6;\n\t\tprivate MetroSet_UI.Controls.MetroSetTile _metroSetTile5;\n\t\tprivate StyleManager styleManager1;\n\t\tprivate MetroSet_UI.Components.MetroSetSetToolTip _metroSetSetToolTip1;\n\t\tprivate MetroSet_UI.Controls.MetroSetContextMenuStrip _metroSetContextMenuStrip1;\n\t\tprivate System.Windows.Forms.ToolStripMenuItem textBoxToolStripMenuItem;\n\t\tprivate MetroSet_UI.Controls.MetroSetRichTextBox _metroSetRichTextBox1;\n\t\tprivate MetroSet_UI.Child.MetroSetSetTabPage _metroSetSetTabPage8;\n\t}\n}"
  },
  {
    "path": "MetroSet UI Example/Form1.cs",
    "content": "﻿using System;\nusing System.Windows.Forms;\nusing MetroSet_UI.Enums;\nusing MetroSet_UI.Forms;\n\nnamespace MetroSet_UI_Example\n{\n\tpublic partial class Form1 : MetroSetForm\n\t{\n\t\tpublic Form1()\n\t\t{\n\t\t\tInitializeComponent();\n\t\t}\n\n\t\tprivate void MetroSetSwitch2_SwitchedChanged(object sender)\n\t\t{\n\t\t\tif (styleManager1.Style == Style.Light)\n\t\t\t{\n\t\t\t\tstyleManager1.Style = Style.Dark;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tstyleManager1.Style = Style.Light;\n\t\t\t}\n\t\t}\n\n\t\tprivate void MetroSetButton3_Click(object sender, EventArgs e)\n\t\t{\n\t\t\tMetroSetMessageBox.Show(this, \"A new update available, do you want to update it now ?\", \"Available Update\", MessageBoxButtons.YesNo);\n\t\t}\n\n\t\tprivate void MetroSetButton4_Click(object sender, EventArgs e)\n\t\t{\n\t\t\tMetroSetMessageBox.Show(this, \"A new update available, do you want to update it now ?\", \"Available Update\", MessageBoxButtons.YesNo, MessageBoxIcon.Stop);\n\t\t}\n\n\t\tprivate void MetroSetButton5_Click(object sender, EventArgs e)\n\t\t{\n\t\t\tMetroSetMessageBox.Show(this, \"A new update available, do you want to update it now ?\", \"Available Update\", MessageBoxButtons.YesNo, MessageBoxIcon.Information);\n\t\t}\n\n\t\tprivate void MetroSetButton6_Click(object sender, EventArgs e)\n\t\t{\n\t\t\tMetroSetMessageBox.Show(this, \"A new update available, do you want to update it now ?\", \"Available Update\", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);\n\t\t}\n\n\t\tprivate void MetroSetButton7_Click_1(object sender, EventArgs e)\n\t\t{\n\t\t\tMetroSetMessageBox.Show(this, \"A new update available, do you want to update it now ?\", \"Available Update\", MessageBoxButtons.YesNo, MessageBoxIcon.Question);\n\t\t}\n\n\t\tprivate void MetroSetDefaultButton1_Click(object sender, EventArgs e)\n\t\t{\n\t\t\tstyleManager1.OpenTheme();\n\t\t}\n\n\t\tprivate void metroSetListBox2_SelectedIndexChanged(object sender)\n\t\t{\n\t\t\tMetroSetMessageBox.Show(this, _metroSetListBox2.SelectedText);\n\t\t}\n\n\t}\n}\n"
  },
  {
    "path": "MetroSet UI Example/Form1.resx",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The primary goals of this format is to allow a simple XML format \n    that is mostly human readable. The generation and parsing of the \n    various data types are done through the TypeConverter classes \n    associated with the data types.\n    \n    Example:\n    \n    ... ado.net/XML headers & schema ...\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\n    <resheader name=\"version\">2.0</resheader>\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\n    </data>\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\n        <comment>This is a comment</comment>\n    </data>\n                \n    There are any number of \"resheader\" rows that contain simple \n    name/value pairs.\n    \n    Each data row contains a name, and value. The row also contains a \n    type or mimetype. Type corresponds to a .NET class that support \n    text/value conversion through the TypeConverter architecture. \n    Classes that don't support this are serialized and stored with the \n    mimetype set.\n    \n    The mimetype is used for serialized objects, and tells the \n    ResXResourceReader how to depersist the object. This is currently not \n    extensible. For a given mimetype the value must be set accordingly:\n    \n    Note - application/x-microsoft.net.object.binary.base64 is the format \n    that the ResXResourceWriter will generate, however the reader can \n    read any of the formats listed below.\n    \n    mimetype: application/x-microsoft.net.object.binary.base64\n    value   : The object must be serialized with \n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\n            : and then encoded with base64 encoding.\n    \n    mimetype: application/x-microsoft.net.object.soap.base64\n    value   : The object must be serialized with \n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\n            : and then encoded with base64 encoding.\n\n    mimetype: application/x-microsoft.net.object.bytearray.base64\n    value   : The object must be serialized into a byte array \n            : using a System.ComponentModel.TypeConverter\n            : and then encoded with base64 encoding.\n    -->\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\n      <xsd:complexType>\n        <xsd:choice maxOccurs=\"unbounded\">\n          <xsd:element name=\"metadata\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"assembly\">\n            <xsd:complexType>\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"data\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"resheader\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\n            </xsd:complexType>\n          </xsd:element>\n        </xsd:choice>\n      </xsd:complexType>\n    </xsd:element>\n  </xsd:schema>\n  <resheader name=\"resmimetype\">\n    <value>text/microsoft-resx</value>\n  </resheader>\n  <resheader name=\"version\">\n    <value>2.0</value>\n  </resheader>\n  <resheader name=\"reader\">\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n  <resheader name=\"writer\">\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n  <metadata name=\"styleManager1.TrayLocation\" type=\"System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a\">\n    <value>17, 17</value>\n  </metadata>\n  <metadata name=\"_metroSetSetToolTip1.TrayLocation\" type=\"System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a\">\n    <value>356, 17</value>\n  </metadata>\n  <data name=\"_metroSetRichTextBox1.Text\" xml:space=\"preserve\">\n    <value>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. </value>\n  </data>\n  <data name=\"_metroSetTextBox3.Text\" xml:space=\"preserve\">\n    <value>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.</value>\n  </data>\n  <metadata name=\"_metroSetContextMenuStrip1.TrayLocation\" type=\"System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a\">\n    <value>149, 17</value>\n  </metadata>\n</root>"
  },
  {
    "path": "MetroSet UI Example/MetroSet UI Example.csproj",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n\n<Project Sdk=\"Microsoft.NET.Sdk.WindowsDesktop\">\n  <PropertyGroup>\n    <OutputType>WinExe</OutputType>\n    <UseWindowsForms>True</UseWindowsForms>\n    <AppDesignerFolder>Properties</AppDesignerFolder>\n    <RootNamespace>MetroSet_UI_Example</RootNamespace>\n    <AssemblyName>MetroSet UI Example</AssemblyName>\n    <GenerateAssemblyInfo>False</GenerateAssemblyInfo>\n    <TargetFrameworks>net45;netcoreapp3.1</TargetFrameworks>\n\n  </PropertyGroup>\n  <ItemGroup>\n    <ProjectReference Include=\"..\\MetroSet UI\\MetroSet UI.csproj\" />\n  </ItemGroup>\n  <ItemGroup>\n    <Compile Update=\"Properties\\Resources.Designer.cs\">\n      <DesignTime>True</DesignTime>\n      <AutoGen>True</AutoGen>\n      <DependentUpon>Resources.resx</DependentUpon>\n    </Compile>\n  </ItemGroup>\n  <ItemGroup>\n    <EmbeddedResource Update=\"Properties\\Resources.resx\">\n      <Generator>ResXFileCodeGenerator</Generator>\n      <LastGenOutput>Resources.Designer.cs</LastGenOutput>\n    </EmbeddedResource>\n  </ItemGroup>\n\n  </Project>\n\n\n\n\n\n\n\n\n\n\n<!--<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project ToolsVersion=\"14.0\" DefaultTargets=\"Build\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\n  <Import Project=\"$(MSBuildExtensionsPath)\\$(MSBuildToolsVersion)\\Microsoft.Common.props\" Condition=\"Exists('$(MSBuildExtensionsPath)\\$(MSBuildToolsVersion)\\Microsoft.Common.props')\" />\n  <PropertyGroup>\n    <Configuration Condition=\" '$(Configuration)' == '' \">Debug</Configuration>\n    <Platform Condition=\" '$(Platform)' == '' \">AnyCPU</Platform>\n    <ProjectGuid>{0686644C-B939-4E46-B942-D01D81B4C6A7}</ProjectGuid>\n    <OutputType>WinExe</OutputType>\n    <AppDesignerFolder>Properties</AppDesignerFolder>\n    <RootNamespace>MetroSet_UI_Example</RootNamespace>\n    <AssemblyName>MetroSet UI Example</AssemblyName>\n    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\n    <FileAlignment>512</FileAlignment>\n    <TargetFrameworkProfile />\n  </PropertyGroup>\n  <PropertyGroup Condition=\" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' \">\n    <PlatformTarget>x86</PlatformTarget>\n    <DebugSymbols>false</DebugSymbols>\n    <DebugType>none</DebugType>\n    <Optimize>false</Optimize>\n    <OutputPath>bin\\Debug\\</OutputPath>\n    <DefineConstants>DEBUG;TRACE</DefineConstants>\n    <ErrorReport>prompt</ErrorReport>\n    <WarningLevel>4</WarningLevel>\n    <Prefer32Bit>false</Prefer32Bit>\n  </PropertyGroup>\n  <PropertyGroup Condition=\" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' \">\n    <PlatformTarget>AnyCPU</PlatformTarget>\n    <DebugType>pdbonly</DebugType>\n    <Optimize>true</Optimize>\n    <OutputPath>bin\\Release\\</OutputPath>\n    <DefineConstants>TRACE</DefineConstants>\n    <ErrorReport>prompt</ErrorReport>\n    <WarningLevel>4</WarningLevel>\n    <Prefer32Bit>false</Prefer32Bit>\n  </PropertyGroup>\n  <ItemGroup>\n    <Reference Include=\"MetroSet UI, Version=1.0.2.0, Culture=neutral, processorArchitecture=MSIL\">\n      <SpecificVersion>False</SpecificVersion>\n      <HintPath>..\\MetroSet UI\\bin\\Debug\\MetroSet UI.dll</HintPath>\n    </Reference>\n    <Reference Include=\"System\" />\n    <Reference Include=\"System.Data\" />\n    <Reference Include=\"System.Deployment\" />\n    <Reference Include=\"System.Design\" />\n    <Reference Include=\"System.DirectoryServices\" />\n    <Reference Include=\"System.Drawing\" />\n    <Reference Include=\"System.Windows.Forms\" />\n    <Reference Include=\"System.Xml\" />\n  </ItemGroup>\n  <ItemGroup>\n    <Compile Include=\"Form1.cs\">\n      <SubType>Form</SubType>\n    </Compile>\n    <Compile Include=\"Form1.Designer.cs\">\n      <DependentUpon>Form1.cs</DependentUpon>\n    </Compile>\n    <Compile Include=\"Program.cs\" />\n    <Compile Include=\"Properties\\AssemblyInfo.cs\" />\n    <EmbeddedResource Include=\"Form1.resx\">\n      <DependentUpon>Form1.cs</DependentUpon>\n    </EmbeddedResource>\n    <EmbeddedResource Include=\"Properties\\Resources.resx\">\n      <Generator>ResXFileCodeGenerator</Generator>\n      <LastGenOutput>Resources.Designer.cs</LastGenOutput>\n      <SubType>Designer</SubType>\n    </EmbeddedResource>\n    <Compile Include=\"Properties\\Resources.Designer.cs\">\n      <AutoGen>True</AutoGen>\n      <DependentUpon>Resources.resx</DependentUpon>\n      <DesignTime>True</DesignTime>\n    </Compile>\n    <None Include=\"app.config\" />\n    <None Include=\"Properties\\Settings.settings\">\n      <Generator>SettingsSingleFileGenerator</Generator>\n      <LastGenOutput>Settings.Designer.cs</LastGenOutput>\n    </None>\n    <Compile Include=\"Properties\\Settings.Designer.cs\">\n      <AutoGen>True</AutoGen>\n      <DependentUpon>Settings.settings</DependentUpon>\n      <DesignTimeSharedInput>True</DesignTimeSharedInput>\n    </Compile>\n  </ItemGroup>\n  <ItemGroup>\n    <None Include=\"Resources\\icons8-double-right.png\" />\n  </ItemGroup>\n  <ItemGroup>\n    <None Include=\"Resources\\372649.jpg\" />\n  </ItemGroup>\n  <ItemGroup>\n    <None Include=\"Resources\\475841.jpg\" />\n  </ItemGroup>\n  <ItemGroup>\n    <None Include=\"Resources\\579841.jpg\" />\n  </ItemGroup>\n  <ItemGroup>\n    <None Include=\"Resources\\111201.jpg\" />\n  </ItemGroup>\n  <ItemGroup>\n    <None Include=\"Resources\\542249.jpg\" />\n  </ItemGroup>\n  <ItemGroup>\n    <None Include=\"Resources\\579840.jpg\" />\n  </ItemGroup>\n  <ItemGroup>\n    <None Include=\"Resources\\filter.png\" />\n  </ItemGroup>\n  <ItemGroup>\n    <None Include=\"Resources\\monochrome-square-pattern-background_1164-1345.jpg\" />\n  </ItemGroup>\n  <ItemGroup>\n    <None Include=\"Resources\\monochrome-square-pattern.png\" />\n  </ItemGroup>\n  <Import Project=\"$(MSBuildToolsPath)\\Microsoft.CSharp.targets\" />\n  --><!-- To modify your build process, add your task inside one of the targets below and uncomment it. \n       Other similar extension points exist, see Microsoft.Common.targets.\n  <Target Name=\"BeforeBuild\">\n  </Target>\n  <Target Name=\"AfterBuild\">\n  </Target>\n  --><!--\n</Project>-->"
  },
  {
    "path": "MetroSet UI Example/Program.cs",
    "content": "﻿using System;\nusing System.Windows.Forms;\n\nnamespace MetroSet_UI_Example\n{\n\tstatic class Program\n\t{\n\t\t/// <summary>\n\t\t/// The main entry point for the application.\n\t\t/// </summary>\n\t\t[STAThread]\n\t\tstatic void Main()\n\t\t{\n\t\t\tApplication.EnableVisualStyles();\n\t\t\tApplication.SetCompatibleTextRenderingDefault(false);\n\t\t\tApplication.Run(new Form1());\n\t\t}\n\t}\n}\n"
  },
  {
    "path": "MetroSet UI Example/Properties/AssemblyInfo.cs",
    "content": "﻿using System.Reflection;\nusing System.Runtime.InteropServices;\n\n// General Information about an assembly is controlled through the following \n// set of attributes. Change these attribute values to modify the information\n// associated with an assembly.\n[assembly: AssemblyTitle(\"MetroSet UI Example\")]\n[assembly: AssemblyDescription(\"\")]\n[assembly: AssemblyConfiguration(\"\")]\n[assembly: AssemblyCompany(\"\")]\n[assembly: AssemblyProduct(\"MetroSet UI Example\")]\n[assembly: AssemblyCopyright(\"Copyright ©  2017\")]\n[assembly: AssemblyTrademark(\"\")]\n[assembly: AssemblyCulture(\"\")]\n\n// Setting ComVisible to false makes the types in this assembly not visible \n// to COM components.  If you need to access a type in this assembly from \n// COM, set the ComVisible attribute to true on that type.\n[assembly: ComVisible(false)]\n\n// The following GUID is for the ID of the typelib if this project is exposed to COM\n[assembly: Guid(\"0686644c-b939-4e46-b942-d01d81b4c6a7\")]\n\n// Version information for an assembly consists of the following four values:\n//\n//      Major Version\n//      Minor Version \n//      Build Number\n//      Revision\n//\n// You can specify all the values or you can default the Build and Revision Numbers \n// by using the '*' as shown below:\n// [assembly: AssemblyVersion(\"1.0.*\")]\n[assembly: AssemblyVersion(\"1.0.0.0\")]\n[assembly: AssemblyFileVersion(\"1.0.0.0\")]\n"
  },
  {
    "path": "MetroSet UI Example/Properties/Resources.Designer.cs",
    "content": "﻿//------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Runtime Version:4.0.30319.42000\n//\n//     Changes to this file may cause incorrect behavior and will be lost if\n//     the code is regenerated.\n// </auto-generated>\n//------------------------------------------------------------------------------\n\nnamespace MetroSet_UI_Example.Properties {\n    using System;\n    \n    \n    /// <summary>\n    ///   A strongly-typed resource class, for looking up localized strings, etc.\n    /// </summary>\n    // This class was auto-generated by the StronglyTypedResourceBuilder\n    // class via a tool like ResGen or Visual Studio.\n    // To add or remove a member, edit your .ResX file then rerun ResGen\n    // with the /str option, or rebuild your VS project.\n    [global::System.CodeDom.Compiler.GeneratedCodeAttribute(\"System.Resources.Tools.StronglyTypedResourceBuilder\", \"16.0.0.0\")]\n    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\n    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]\n    internal class Resources {\n        \n        private static global::System.Resources.ResourceManager resourceMan;\n        \n        private static global::System.Globalization.CultureInfo resourceCulture;\n        \n        [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute(\"Microsoft.Performance\", \"CA1811:AvoidUncalledPrivateCode\")]\n        internal Resources() {\n        }\n        \n        /// <summary>\n        ///   Returns the cached ResourceManager instance used by this class.\n        /// </summary>\n        [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]\n        internal static global::System.Resources.ResourceManager ResourceManager {\n            get {\n                if (object.ReferenceEquals(resourceMan, null)) {\n                    global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager(\"MetroSet_UI_Example.Properties.Resources\", typeof(Resources).Assembly);\n                    resourceMan = temp;\n                }\n                return resourceMan;\n            }\n        }\n        \n        /// <summary>\n        ///   Overrides the current thread's CurrentUICulture property for all\n        ///   resource lookups using this strongly typed resource class.\n        /// </summary>\n        [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]\n        internal static global::System.Globalization.CultureInfo Culture {\n            get {\n                return resourceCulture;\n            }\n            set {\n                resourceCulture = value;\n            }\n        }\n        \n        /// <summary>\n        ///   Looks up a localized resource of type System.Drawing.Bitmap.\n        /// </summary>\n        internal static System.Drawing.Bitmap _111201 {\n            get {\n                object obj = ResourceManager.GetObject(\"111201\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   Looks up a localized resource of type System.Drawing.Bitmap.\n        /// </summary>\n        internal static System.Drawing.Bitmap _372649 {\n            get {\n                object obj = ResourceManager.GetObject(\"372649\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   Looks up a localized resource of type System.Drawing.Bitmap.\n        /// </summary>\n        internal static System.Drawing.Bitmap _475841 {\n            get {\n                object obj = ResourceManager.GetObject(\"475841\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   Looks up a localized resource of type System.Drawing.Bitmap.\n        /// </summary>\n        internal static System.Drawing.Bitmap _542249 {\n            get {\n                object obj = ResourceManager.GetObject(\"542249\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   Looks up a localized resource of type System.Drawing.Bitmap.\n        /// </summary>\n        internal static System.Drawing.Bitmap _579840 {\n            get {\n                object obj = ResourceManager.GetObject(\"579840\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   Looks up a localized resource of type System.Drawing.Bitmap.\n        /// </summary>\n        internal static System.Drawing.Bitmap _579841 {\n            get {\n                object obj = ResourceManager.GetObject(\"579841\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   Looks up a localized resource of type System.Drawing.Bitmap.\n        /// </summary>\n        internal static System.Drawing.Bitmap filter {\n            get {\n                object obj = ResourceManager.GetObject(\"filter\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   Looks up a localized resource of type System.Drawing.Bitmap.\n        /// </summary>\n        internal static System.Drawing.Bitmap icons8_double_right {\n            get {\n                object obj = ResourceManager.GetObject(\"icons8_double_right\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   Looks up a localized string similar to Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur..\n        /// </summary>\n        internal static string metroSetTextBox3_Text {\n            get {\n                return ResourceManager.GetString(\"metroSetTextBox3.Text\", resourceCulture);\n            }\n        }\n        \n        /// <summary>\n        ///   Looks up a localized resource of type System.Drawing.Bitmap.\n        /// </summary>\n        internal static System.Drawing.Bitmap monochrome_square_pattern {\n            get {\n                object obj = ResourceManager.GetObject(\"monochrome_square_pattern\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   Looks up a localized resource of type System.Drawing.Bitmap.\n        /// </summary>\n        internal static System.Drawing.Bitmap monochrome_square_pattern_background_1164_1345 {\n            get {\n                object obj = ResourceManager.GetObject(\"monochrome-square-pattern-background_1164-1345\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "MetroSet UI Example/Properties/Resources.resx",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The primary goals of this format is to allow a simple XML format \n    that is mostly human readable. The generation and parsing of the \n    various data types are done through the TypeConverter classes \n    associated with the data types.\n    \n    Example:\n    \n    ... ado.net/XML headers & schema ...\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\n    <resheader name=\"version\">2.0</resheader>\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\n    </data>\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\n        <comment>This is a comment</comment>\n    </data>\n                \n    There are any number of \"resheader\" rows that contain simple \n    name/value pairs.\n    \n    Each data row contains a name, and value. The row also contains a \n    type or mimetype. Type corresponds to a .NET class that support \n    text/value conversion through the TypeConverter architecture. \n    Classes that don't support this are serialized and stored with the \n    mimetype set.\n    \n    The mimetype is used for serialized objects, and tells the \n    ResXResourceReader how to depersist the object. This is currently not \n    extensible. For a given mimetype the value must be set accordingly:\n    \n    Note - application/x-microsoft.net.object.binary.base64 is the format \n    that the ResXResourceWriter will generate, however the reader can \n    read any of the formats listed below.\n    \n    mimetype: application/x-microsoft.net.object.binary.base64\n    value   : The object must be serialized with \n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\n            : and then encoded with base64 encoding.\n    \n    mimetype: application/x-microsoft.net.object.soap.base64\n    value   : The object must be serialized with \n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\n            : and then encoded with base64 encoding.\n\n    mimetype: application/x-microsoft.net.object.bytearray.base64\n    value   : The object must be serialized into a byte array \n            : using a System.ComponentModel.TypeConverter\n            : and then encoded with base64 encoding.\n    -->\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\n      <xsd:complexType>\n        <xsd:choice maxOccurs=\"unbounded\">\n          <xsd:element name=\"metadata\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"assembly\">\n            <xsd:complexType>\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"data\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"resheader\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\n            </xsd:complexType>\n          </xsd:element>\n        </xsd:choice>\n      </xsd:complexType>\n    </xsd:element>\n  </xsd:schema>\n  <resheader name=\"resmimetype\">\n    <value>text/microsoft-resx</value>\n  </resheader>\n  <resheader name=\"version\">\n    <value>2.0</value>\n  </resheader>\n  <resheader name=\"reader\">\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n  <resheader name=\"writer\">\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n  <assembly alias=\"System.Windows.Forms\" name=\"System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\" />\n  <data name=\"542249\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>..\\Resources\\542249.jpg;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n  <data name=\"579841\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>..\\Resources\\579841.jpg;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n  <data name=\"579840\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>..\\Resources\\579840.jpg;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n  <data name=\"icons8_double_right\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>..\\Resources\\icons8-double-right.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n  <data name=\"372649\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>..\\Resources\\372649.jpg;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n  <data name=\"475841\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>..\\Resources\\475841.jpg;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n  <data name=\"filter\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>..\\Resources\\filter.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n  <data name=\"111201\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>..\\Resources\\111201.jpg;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n  <data name=\"monochrome-square-pattern-background_1164-1345\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>..\\Resources\\monochrome-square-pattern-background_1164-1345.jpg;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n  <data name=\"monochrome_square_pattern\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>..\\Resources\\monochrome-square-pattern.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n  <data name=\"metroSetTextBox3.Text\" xml:space=\"preserve\">\n    <value>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.</value>\n  </data>\n</root>"
  },
  {
    "path": "MetroSet UI Example/Properties/Settings.Designer.cs",
    "content": "﻿//------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Runtime Version:4.0.30319.42000\n//\n//     Changes to this file may cause incorrect behavior and will be lost if\n//     the code is regenerated.\n// </auto-generated>\n//------------------------------------------------------------------------------\n\nnamespace MetroSet_UI_Example.Properties {\n    \n    \n    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]\n    [global::System.CodeDom.Compiler.GeneratedCodeAttribute(\"Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator\", \"16.4.0.0\")]\n    internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {\n        \n        private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));\n        \n        public static Settings Default {\n            get {\n                return defaultInstance;\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "MetroSet UI Example/Properties/Settings.settings",
    "content": "﻿<?xml version='1.0' encoding='utf-8'?>\n<SettingsFile xmlns=\"http://schemas.microsoft.com/VisualStudio/2004/01/settings\" CurrentProfile=\"(Default)\">\n  <Profiles>\n    <Profile Name=\"(Default)\" />\n  </Profiles>\n  <Settings />\n</SettingsFile>\n"
  },
  {
    "path": "MetroSet UI.sln",
    "content": "﻿\nMicrosoft Visual Studio Solution File, Format Version 12.00\n# Visual Studio 15\nVisualStudioVersion = 15.0.26228.4\nMinimumVisualStudioVersion = 10.0.40219.1\nProject(\"{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}\") = \"MetroSet UI\", \"MetroSet UI\\MetroSet UI.csproj\", \"{246951DC-5E33-4A86-9498-A03F9D784EFA}\"\nEndProject\nProject(\"{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}\") = \"MetroSet UI Example\", \"MetroSet UI Example\\MetroSet UI Example.csproj\", \"{0686644C-B939-4E46-B942-D01D81B4C6A7}\"\nEndProject\nGlobal\n\tGlobalSection(SolutionConfigurationPlatforms) = preSolution\n\t\tDebug|Any CPU = Debug|Any CPU\n\t\tRelease|Any CPU = Release|Any CPU\n\tEndGlobalSection\n\tGlobalSection(ProjectConfigurationPlatforms) = postSolution\n\t\t{246951DC-5E33-4A86-9498-A03F9D784EFA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\n\t\t{246951DC-5E33-4A86-9498-A03F9D784EFA}.Debug|Any CPU.Build.0 = Debug|Any CPU\n\t\t{246951DC-5E33-4A86-9498-A03F9D784EFA}.Release|Any CPU.ActiveCfg = Release|Any CPU\n\t\t{246951DC-5E33-4A86-9498-A03F9D784EFA}.Release|Any CPU.Build.0 = Release|Any CPU\n\t\t{0686644C-B939-4E46-B942-D01D81B4C6A7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\n\t\t{0686644C-B939-4E46-B942-D01D81B4C6A7}.Debug|Any CPU.Build.0 = Debug|Any CPU\n\t\t{0686644C-B939-4E46-B942-D01D81B4C6A7}.Release|Any CPU.ActiveCfg = Release|Any CPU\n\t\t{0686644C-B939-4E46-B942-D01D81B4C6A7}.Release|Any CPU.Build.0 = Release|Any CPU\n\tEndGlobalSection\n\tGlobalSection(SolutionProperties) = preSolution\n\t\tHideSolutionNode = FALSE\n\tEndGlobalSection\n\tGlobalSection(ExtensibilityGlobals) = postSolution\n\t\tSolutionGuid = {3F6BC7EC-455F-4145-B584-4ED1E3EDBCAC}\n\tEndGlobalSection\nEndGlobal\n"
  },
  {
    "path": "README.md",
    "content": "<p  align=\"center\">\n  <a href=\"https://github.com/N-a-r-w-i-n/MetroSet-UI\">\n    <img alt=\"MetroSet-UI\" width=\"384\" heigth=\"384\" src=\"https://raw.githubusercontent.com/N-a-r-w-i-n/MetroSet-UI/master/MetroSet.png\">\n  </a>\n</p >\t\n\t\n<h1  align=\"center\">MetroSet UI Framework</h1>\n\n<h3  align=\"center\">Windows Forms Metro Skin Style, Make The .NET Applications With Metro Styles.</h3>\n\n<p  align=\"center\">\n  <a href=\"https://gitter.im/MetroSet-UI/community\">\n    <img src=\"https://badges.gitter.im/MetroSet-UI/community.svg\">\n  </a>\n  <a href=\"https://github.com/N-a-r-w-i-n/MetroSet-UI/issues\">\n    <img src=\"https://img.shields.io/github/issues/N-a-r-w-i-n/MetroSet-UI.svg?style=flat-square\">\n  </a>\n  <a href=\"https://github.com/N-a-r-w-i-n/MetroSet-UI/network\">\n    <img src=\"https://img.shields.io/github/forks/N-a-r-w-i-n/MetroSet-UI.svg?style=flat-square\">\n  </a>\n  <a href=\"https://github.com/N-a-r-w-i-n/MetroSet-UI/stargazers\">\n    <img src=\"https://img.shields.io/github/stars/N-a-r-w-i-n/MetroSet-UI.svg?style=flat-square\">\n  </a>\n </a>\n  <a href=\"https://raw.githubusercontent.com/N-a-r-w-i-n/MetroSet-UI/master/LICENSE.md\">\n    <img src=\"https://img.shields.io/badge/license-MIT-blue.svg?style=flat-square\">\n  </a>  \n</p >\n\n## \n\n\n\n<h3 align=\"center\">Install via NuGet</h3>\n\n    Install-Package MetroSet_UI\n\n## \n\n<h3 align=\"center\">Direct to NuGet</h3>\n\n> [Link](https://www.nuget.org/packages/MetroSet_UI/)\n\n## \n\n<h3 align=\"center\">Supported platforms</h3>\n\n:arrow_right: Windows XP SP1/SP2/SP3\n\n:arrow_right: Windows Vista\n\n:arrow_right: Windows 7\n\n:arrow_right: Windows 8\n\n:arrow_right: Windows 10\n\n## \n\n<h3 align=\"center\">Dependency</h3>\n\n:arrow_right_hook: .NET Framework 2.0 or higher.\n\n## \n\n<h2 align=\"center\">Components Available</h2>\n\n:arrow_down: | Components | Skin Support | Custom Theme Support | Animation | Disabling | Custom Smart Tags\n:---:|:---|:---:|:---:|:---:|:---:|:---:|\n:arrow_right: | StyleManager |:heavy_check_mark:|:heavy_multiplication_x:|:heavy_multiplication_x:|:heavy_multiplication_x:|:heavy_check_mark:\n:arrow_right: | MetroSetToolTip |:heavy_check_mark:|:heavy_check_mark:|:heavy_multiplication_x:|:heavy_multiplication_x:|:heavy_check_mark:\n\n<h2 align=\"center\">Forms Available</h2>\n\n\n:arrow_down: | Forms | Skin Support | Custom Theme Support | Animation | Disabling | Custom Smart Tags\n:---:|:---|:---:|:---:|:---:|:---:|:---:|\n:arrow_right: | MetroSetForm |:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|:heavy_multiplication_x:|:heavy_multiplication_x:\n:arrow_right: | MetroSetMessageBox |:heavy_multiplication_x:|:heavy_multiplication_x:|:heavy_check_mark:|:heavy_multiplication_x:|:heavy_multiplication_x:\n\n\n\n<h2 align=\"center\">Controls Available</h2>\n\n\n:arrow_down: | Controls | Skin Support | Custom Theme Support | Animation | Disabling | Custom Smart Tags\n:---:|:---|:---:|:---:|:---:|:---:|:---:|\n:arrow_right: | MetroSetBadge |:heavy_check_mark:|:heavy_check_mark:|:heavy_multiplication_x:|:heavy_check_mark:|:heavy_check_mark:\n:arrow_right: | MetroSetButton |:heavy_check_mark:|:heavy_check_mark:|:heavy_multiplication_x:|:heavy_check_mark:|:heavy_check_mark:\n:arrow_right: | MetroSetDefaultButton |:heavy_check_mark:|:heavy_check_mark:|:heavy_multiplication_x:|:heavy_check_mark:|:heavy_check_mark:\n:arrow_right: | MetroSetCheckBox |:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:\n:arrow_right: | MetroSetComboBox |:heavy_check_mark:|:heavy_check_mark:|:heavy_multiplication_x:|:heavy_check_mark:|:heavy_check_mark:\n:arrow_right: | MetroSetContextMenuStrip |:heavy_check_mark:|:heavy_check_mark:|:heavy_multiplication_x:|:heavy_check_mark:|:heavy_check_mark:\n:arrow_right: | MetroSetControlBox |:heavy_check_mark:|:heavy_check_mark:|:heavy_multiplication_x:|:heavy_check_mark:|:heavy_check_mark:\n:arrow_right: | MetroSetDevider|:heavy_check_mark:|:heavy_check_mark:|:heavy_multiplication_x:|:heavy_multiplication_x:|:heavy_check_mark:\n:arrow_right: | MetroSetEllipse |:heavy_check_mark:|:heavy_check_mark:|:heavy_multiplication_x:|:heavy_check_mark:|:heavy_check_mark:\n:arrow_right: | MetroSetLabel |:heavy_check_mark:|:heavy_check_mark:|:heavy_multiplication_x:|:heavy_multiplication_x:|:heavy_check_mark:\n:arrow_right: | MetroSetLink |:heavy_check_mark:|:heavy_check_mark:|:heavy_multiplication_x:|:heavy_multiplication_x:|:heavy_check_mark:\n:arrow_right: | MetroSetListBox |:heavy_check_mark:|:heavy_check_mark:|:heavy_multiplication_x:|:heavy_check_mark:|:heavy_check_mark:\n:arrow_right: | MetroSetNumeric |:heavy_check_mark:|:heavy_check_mark:|:heavy_multiplication_x:|:heavy_check_mark:|:heavy_check_mark:\n:arrow_right: | MetroSetPanel |:heavy_check_mark:|:heavy_check_mark:|:heavy_multiplication_x:|:heavy_multiplication_x:|:heavy_multiplication_x:\n:arrow_right: | MetroSetProgress |:heavy_check_mark:|:heavy_check_mark:|:heavy_multiplication_x:|:heavy_check_mark:|:heavy_check_mark:\n:arrow_right: | MetroSetRadioButton |:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:\n:arrow_right: | MetroSetRichTextBox |:heavy_check_mark:|:heavy_check_mark:|:heavy_multiplication_x:|:heavy_check_mark:|:heavy_check_mark:\n:arrow_right: | MetroSetScrollBar |:heavy_check_mark:|:heavy_check_mark:|:heavy_multiplication_x:|:heavy_check_mark:|:heavy_check_mark:\n:arrow_right: | MetroSetSwitch |:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:\n:arrow_right: | MetroSetTabControl |:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|:heavy_multiplication_x:\n:arrow_right: | MetroSetTextBox |:heavy_check_mark:|:heavy_check_mark:|:heavy_multiplication_x:|:heavy_check_mark:|:heavy_check_mark:\n:arrow_right: | MetroSetTile |:heavy_check_mark:|:heavy_check_mark:|:heavy_multiplication_x:|:heavy_check_mark:|:heavy_check_mark:\n:arrow_right: | MetroSetTrackBar |:heavy_check_mark:|:heavy_check_mark:|:heavy_multiplication_x:|:heavy_multiplication_x:|:heavy_check_mark:\n\n\n<h1  align=\"center\">Demonstration</h1>\n<h2  align=\"center\">Light</h2>\n<p  align=\"center\">\n  <a href=\"https://github.com/N-a-r-w-i-n/MetroSet-UI\">\n    <img alt=\"MetroSet-UI\" width=\"880\" heigth=\"650\" src=\"https://github.com/N-a-r-w-i-n/MetroSet-UI/blob/master/MetroSet%20Light.gif\">\n  </a>\n</p >\t\n\n<h2  align=\"center\">Dark</h2>\n<p  align=\"center\">\n  <a href=\"https://github.com/N-a-r-w-i-n/MetroSet-UI\">\n    <img alt=\"MetroSet-UI\" width=\"880\" heigth=\"650\" src=\"https://github.com/N-a-r-w-i-n/MetroSet-UI/blob/master/MetroSet%20Dark.gif\">\n  </a>\n</p >\t\n\n<h2  align=\"center\">Custom</h2>\n<p  align=\"center\">\n  <a href=\"https://github.com/N-a-r-w-i-n/MetroSet-UI\">\n    <img alt=\"MetroSet-UI\" width=\"880\" heigth=\"650\" src=\"https://github.com/N-a-r-w-i-n/MetroSet-UI/blob/master/MetroSet%20Orange.gif\">\n  </a>\n</p >\t\n\n<h2  align=\"center\">Custom</h2>\n<p  align=\"center\">\n  <a href=\"https://github.com/N-a-r-w-i-n/MetroSet-UI\">\n    <img alt=\"MetroSet-UI\" width=\"880\" heigth=\"650\" src=\"https://github.com/N-a-r-w-i-n/MetroSet-UI/blob/master/MetroSet%20Green.gif\">\n  </a>\n</p >\t\n\n<h2 align=\"center\">Using MetroSetForm</h2>\n\n\n<h2 align=\"center\">C#.NET</h2>\n\n```cs\n\nusing MetroSet_UI.Forms;\n\npublic partial class Form1 : MetroSetForm\n    {\n        public Form1()\n        {\n            InitializeComponent();\n        }\n    }\n\n```\n\n<h2 align=\"center\">VB.NET</h2>\n\n```vb\nImports MetroSet_UI.Forms\n\npublic class Form1 : Inherits MetroSetForm\n    \n    Sub New()\n    \n    End Sub\n    \nEnd Class\n```\n\n<h2 align=\"center\">MetroSetMessageBox Example</h2>\n\n\n<h2 align=\"center\">C#.NET</h2>\n\n```cs\n\nusing System;\nusing MetroSet_UI.Forms;\nusing System.Windows.Forms;\nnamespace MetroSet_UI_Example\n{\n    public partial class MetroSetForm1 : MetroSetForm \n    {\n        public MetroSetForm1()\n        {\n            InitializeComponent();\n        }\n\n        private void MetroSetButton1_Click(object sender, EventArgs e)\n        {\n            MetroSetMessageBox.Show(this, \"Content\", \"Caption\", MessageBoxButtons.OK, MessageBoxIcon.Question);\n        }\n\n    }\n}\n\n```\n\n<h2 align=\"center\">VB.NET</h2>\n\n```vb\nImports MetroSet_UI.Forms\n\npublic class Form1 : Inherits MetroSetForm\n    \n    Private Sub MetroSetButton1_Click(sender As Object, e As EventArgs)\n\t\t\tMetroSetMessageBox.Show(Me, \"Content\", \"Caption\", MessageBoxButtons.OKCancel, MessageBoxIcon.Question)\n\tEnd Sub\n    \nEnd Class\n```\n\n<h2 align=\"center\">Credits</h2>\n\n>  MCF.Goodwin : [Form Fading](https://www.codeproject.com/Articles/30255/C-Fade-Form-Effect-With-the-AnimateWindow-API-Func)\n\n>  Burak Ozdiken : [TabControlDesigner](https://github.com/N-a-r-w-i-n/MetroSet-UI/blob/master/MetroSet%20UI/Design/MetroSetTabControlDesigner.cs)\n\n>  Mavamaarten : [TabControl Transition Method](https://github.com/N-a-r-w-i-n/MetroSet-UI/blob/29e65d1d2e4d12105f9b9639e9def96af0b93da2/MetroSet%20UI/Controls/MetroSetTabControl.cs#L363-L463)\n\n<h2 align=\"center\">License</h2>\n\n>  [MIT License](https://github.com/N-a-r-w-i-n/MetroSet-UI/blob/master/LICENSE)\n\n"
  }
]