public void FlatButtonAppearanceBorderColor() { Button B1 = new Button(); FlatButtonAppearance flatApp = B1.FlatAppearance; flatApp.BorderColor = Color.Transparent; }
public void FlatButtonAppearanceExceptionTest() { Button B1 = new Button(); FlatButtonAppearance flatApp = B1.FlatAppearance; flatApp.BorderSize = -1; }
/// <summary> /// 設定 /// </summary> /// <param name="flatButtonAppearance"></param> public void Set(FlatButtonAppearance flatButtonAppearance) { this.BorderColor = flatButtonAppearance.BorderColor; this.BorderSize = flatButtonAppearance.BorderSize; this.CheckedBackColor = flatButtonAppearance.CheckedBackColor; this.MouseDownBackColor = flatButtonAppearance.MouseDownBackColor; this.MouseOverBackColor = flatButtonAppearance.MouseOverBackColor; }
public static void ApplyStyle(this ButtonBase button) { button.BackColor = Color.Transparent; button.FlatStyle = FlatStyle.Flat; button.UseVisualStyleBackColor = true; FlatButtonAppearance appearance = button.FlatAppearance; appearance.BorderSize = 0; appearance.BorderColor = Color.Empty; appearance.CheckedBackColor = Color.Empty; appearance.MouseDownBackColor = Color.Empty; appearance.MouseOverBackColor = Color.Empty; }
public void FlatButtonAppearanceTest() { Button B1 = new Button(); FlatButtonAppearance flatApp = B1.FlatAppearance; Assert.AreEqual(Color.Empty, flatApp.BorderColor, "#A1"); Assert.AreEqual(1, flatApp.BorderSize, "#A2"); Assert.AreEqual(Color.Empty, flatApp.CheckedBackColor, "#A3"); Assert.AreEqual(Color.Empty, flatApp.MouseDownBackColor, "#A4"); Assert.AreEqual(Color.Empty, flatApp.MouseOverBackColor, "#A5"); flatApp.BorderColor = Color.Blue; Assert.AreEqual(Color.Blue, flatApp.BorderColor, "#B1"); flatApp.BorderSize = 10; Assert.AreEqual(10, flatApp.BorderSize, "#B2"); flatApp.CheckedBackColor = Color.Blue; Assert.AreEqual(Color.Blue, flatApp.CheckedBackColor, "#B3"); flatApp.MouseDownBackColor = Color.Blue; Assert.AreEqual(Color.Blue, flatApp.MouseDownBackColor, "#B4"); flatApp.MouseOverBackColor = Color.Blue; Assert.AreEqual(Color.Blue, flatApp.MouseOverBackColor, "#B5"); }
private void Update() { FlatButtonAppearance appearance; switch (CurrentState) { case FlatButtonState.Unselected: appearance = UnselectedAppearance; break; case FlatButtonState.Selected: appearance = SelectedAppearance; break; case FlatButtonState.Hover: appearance = HoverAppearance; break; case FlatButtonState.Disabled: appearance = DisabledAppearance; break; default: appearance = new FlatButtonAppearance(); break; } Fill.color = Color.Lerp(Fill.color, appearance.FillColor, StateDamping * Time.deltaTime); Outline.color = Color.Lerp(Outline.color, appearance.OutlineColor, StateDamping * Time.deltaTime); _currentPadding = Mathf.Lerp(_currentPadding, appearance.LayoutPadding, StateDamping * Time.deltaTime); LabelLayout.padding = new RectOffset { bottom = _defaultPadding.bottom, top = _defaultPadding.top, left = (int)_currentPadding, right = (int)_currentPadding }; }
private static void StyleButton(Button button, Font buttonFont, FlatButtonAppearance buttonAppearance) { if (button != null && buttonFont != null && buttonAppearance != null) { button.FlatStyle = FlatStyle.Flat; button.FlatAppearance.BorderColor = buttonAppearance.BorderColor; button.FlatAppearance.BorderSize = buttonAppearance.BorderSize; button.FlatAppearance.MouseOverBackColor = buttonAppearance.MouseOverBackColor; button.FlatAppearance.MouseDownBackColor = buttonAppearance.MouseDownBackColor; if (button.BackgroundImage == null) { button.BackColor = Color.FromArgb(215, 215, 215); button.ForeColor = Color.FromArgb(45, 45, 45); button.Font = buttonFont; } else { button.BackColor = Color.FromArgb(230, 230, 230); } } }
/// <summary> /// 往通知 panel 添加 button。 /// </summary> /// <param name="panel">通知 panel</param> /// <param name="content">label 内容</param> /// <param name="backColor">label 背景颜色</param> /// <param name="location">label 位置</param> /// <param name="size">label 大小</param> /// <param name="borderSize">边框大小,默认为 0</param> private void CreateSubButton(ref Panel panel, string content, Color backColor, Point location, Size size, int borderSize = 0) { Button button = new Button() {//属性设置 AutoSize = false, FlatStyle = FlatStyle.Flat, BackColor = backColor, ForeColor = Color.White, Font = font, Text = content, TextAlign = ContentAlignment.MiddleCenter, Location = location, Size = size, Visible = true }; FlatButtonAppearance flatButtonAppearance = button.FlatAppearance; flatButtonAppearance.BorderColor = Color.Gray; flatButtonAppearance.MouseDownBackColor = PresetColors.MouseDownBackColor; flatButtonAppearance.MouseOverBackColor = PresetColors.MouseOverBackColor; flatButtonAppearance.BorderSize = borderSize; if (borderSize == 0)//边框值为0,这是一个关闭按钮 { button.BackgroundImage = Properties.Resources.guanbi3; button.BackgroundImageLayout = ImageLayout.Zoom; button.Click += new EventHandler(CloseNoti_Click);//绑定点击事件 } else//打开文件夹按钮 { button.BackColor = Color.Gray; button.Click += new EventHandler(Button_Click);//绑定点击事件 } SetDouble(button); panel.Controls.Add(button); button.BringToFront(); }
public static void DrawFlatButton (Graphics g, Rectangle bounds, ButtonThemeState state, Color backColor, Color foreColor, FlatButtonAppearance appearance) { theme.ButtonPainter.DrawFlat (g, bounds, state, backColor, foreColor, appearance); }
public virtual void DrawFlat (Graphics g, Rectangle bounds, ButtonThemeState state, Color backColor, Color foreColor, FlatButtonAppearance appearance) { bool is_themecolor = backColor.ToArgb () == ThemeEngine.Current.ColorControl.ToArgb () || backColor == Color.Empty ? true : false; CPColor cpcolor = is_themecolor ? CPColor.Empty : ResPool.GetCPColor (backColor); Pen pen; switch (state) { case ButtonThemeState.Normal: case ButtonThemeState.Disabled: // This will just use the BackColor break; case ButtonThemeState.Entered: case ButtonThemeState.Default | ButtonThemeState.Entered: if (appearance.MouseOverBackColor != Color.Empty) g.FillRectangle (ResPool.GetSolidBrush (appearance.MouseOverBackColor), bounds); else g.FillRectangle (ResPool.GetSolidBrush (ChangeIntensity (backColor, .9F)), bounds); break; case ButtonThemeState.Pressed: if (appearance.MouseDownBackColor != Color.Empty) g.FillRectangle (ResPool.GetSolidBrush (appearance.MouseDownBackColor), bounds); else g.FillRectangle (ResPool.GetSolidBrush (ChangeIntensity (backColor, .95F)), bounds); break; case ButtonThemeState.Default: if (appearance.CheckedBackColor != Color.Empty) g.FillRectangle (ResPool.GetSolidBrush (appearance.CheckedBackColor), bounds); break; } if (appearance.BorderColor == Color.Empty) pen = is_themecolor ? SystemPens.ControlDarkDark : ResPool.GetSizedPen (cpcolor.DarkDark, appearance.BorderSize); else pen = ResPool.GetSizedPen (appearance.BorderColor, appearance.BorderSize); bounds.Width -= 1; bounds.Height -= 1; if (appearance.BorderSize > 0) g.DrawRectangle (pen, bounds); }
public static void DrawFlatButton(Graphics g, Rectangle bounds, ButtonThemeState state, Color backColor, Color foreColor, FlatButtonAppearance appearance) { theme.ButtonPainter.DrawFlat(g, bounds, state, backColor, foreColor, appearance); }
public virtual void DrawFlat(Graphics g, Rectangle bounds, ButtonThemeState state, Color backColor, Color foreColor, FlatButtonAppearance appearance) { bool is_themecolor = backColor.ToArgb() == ThemeEngine.Current.ColorControl.ToArgb() || backColor == Color.Empty ? true : false; CPColor cpcolor = is_themecolor ? CPColor.Empty : ResPool.GetCPColor(backColor); Pen pen; switch (state) { case ButtonThemeState.Normal: case ButtonThemeState.Disabled: // This will just use the BackColor break; case ButtonThemeState.Entered: case ButtonThemeState.Default | ButtonThemeState.Entered: if (appearance.MouseOverBackColor != Color.Empty) { g.FillRectangle(ResPool.GetSolidBrush(appearance.MouseOverBackColor), bounds); } else { g.FillRectangle(ResPool.GetSolidBrush(ChangeIntensity(backColor, .9F)), bounds); } break; case ButtonThemeState.Pressed: if (appearance.MouseDownBackColor != Color.Empty) { g.FillRectangle(ResPool.GetSolidBrush(appearance.MouseDownBackColor), bounds); } else { g.FillRectangle(ResPool.GetSolidBrush(ChangeIntensity(backColor, .95F)), bounds); } break; case ButtonThemeState.Default: if (appearance.CheckedBackColor != Color.Empty) { g.FillRectangle(ResPool.GetSolidBrush(appearance.CheckedBackColor), bounds); } break; } if (appearance.BorderColor == Color.Empty) { pen = is_themecolor ? SystemPens.ControlDarkDark : ResPool.GetSizedPen(cpcolor.DarkDark, appearance.BorderSize); } else { pen = ResPool.GetSizedPen(appearance.BorderColor, appearance.BorderSize); } bounds.Width -= 1; bounds.Height -= 1; if (appearance.BorderSize > 0) { g.DrawRectangle(pen, bounds); } }