/// <summary>
        /// OnResetStyles method.
        /// </summary>
        /// <param name="sender">Event sender.</param>
        /// <param name="e">A System.EventArgs that contains the event data.</param>
        private void OnResetStyles(object sender, EventArgs e)
        {
            ModernStyleManager styleManager = Component as ModernStyleManager;

            if (styleManager != null)
            {
                if (styleManager.Owner == null)
                {
                    MessageBox.Show("StyleManager needs the Owner property assigned to before it can reset styles.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }
            }

            this.ResetStyles(styleManager, styleManager.Owner as Control);
        }
        /// <summary>
        /// ModernToolTipPopup method.
        /// </summary>
        /// <param name="sender">Event sender.</param>
        /// <param name="e">A System.EventArgs that contains the event data.</param>
        private void ModernToolTipPopup(object sender, PopupEventArgs e)
        {
            if (e.AssociatedWindow is IModernForm)
            {
                this.ColorStyle   = ((IModernForm)e.AssociatedWindow).ColorStyle;
                this.ThemeStyle   = ((IModernForm)e.AssociatedWindow).ThemeStyle;
                this.StyleManager = ((IModernForm)e.AssociatedWindow).StyleManager;
            }
            else if (e.AssociatedControl is IModernControl)
            {
                this.ColorStyle   = ((IModernControl)e.AssociatedControl).ColorStyle;
                this.ThemeStyle   = ((IModernControl)e.AssociatedControl).ThemeStyle;
                this.StyleManager = ((IModernControl)e.AssociatedControl).StyleManager;
            }

            e.ToolTipSize = new Size(e.ToolTipSize.Width + 24, e.ToolTipSize.Height + 9);
        }
        /// <summary>
        /// ResetStyles method.
        /// </summary>
        /// <param name="styleManager">ModernStyleManager instance.</param>
        /// <param name="control">Control to reset.</param>
        private void ResetStyles(ModernStyleManager styleManager, Control control)
        {
            IModernForm container = control as IModernForm;

            if (container != null && !object.ReferenceEquals(styleManager, container.StyleManager))
            {
                return;
            }

            if (control is IModernControl)
            {
                this.ResetProperty(control, "Style", ModernColorStyle.Default);
                this.ResetProperty(control, "Theme", ModernThemeStyle.Default);
            }
            else if (control is IModernComponent)
            {
                this.ResetProperty(control, "Style", ModernColorStyle.Default);
                this.ResetProperty(control, "Theme", ModernThemeStyle.Default);
            }

            if (control.ContextMenuStrip != null)
            {
                this.ResetStyles(styleManager, control.ContextMenuStrip);
            }

            TabControl tabControl = control as TabControl;

            if (tabControl != null)
            {
                foreach (TabPage item in tabControl.TabPages)
                {
                    this.ResetStyles(styleManager, item);
                }
            }

            if (control.Controls != null)
            {
                foreach (Control item in control.Controls)
                {
                    this.ResetStyles(styleManager, item);
                }
            }
        }