コード例 #1
0
        private void OnResetStyles(object sender, EventArgs args)
        {
            WellsMetroStyleManager styleManager = Component as WellsMetroStyleManager;

            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;
                }
            }

            ResetStyles(styleManager, styleManager.Owner as Control);
        }
コード例 #2
0
        private void ResetStyles(WellsMetroStyleManager styleManager, Control control)
        {
            IWellsMetroForm container = control as IWellsMetroForm;

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

            if (control is IWellsMetroControl)
            {
                ResetProperty(control, "Style", WellsMetroColorStyle.Default);
                ResetProperty(control, "Theme", WellsMetroThemeStyle.Default);
            }
            else if (control is IWellsMetroComponent)
            {
                ResetProperty(control, "Style", WellsMetroColorStyle.Default);
                ResetProperty(control, "Theme", WellsMetroThemeStyle.Default);
            }

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

            TabControl tabControl = control as TabControl;

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

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