* UINavMenu:增加设置二级菜单底色

This commit is contained in:
Sunny 2021-03-12 10:11:49 +08:00
parent be62929977
commit 640f4592b9
8 changed files with 65 additions and 21 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -29,10 +29,10 @@
private void InitializeComponent() private void InitializeComponent()
{ {
this.components = new System.ComponentModel.Container(); this.components = new System.ComponentModel.Container();
System.Windows.Forms.TreeNode treeNode1 = new System.Windows.Forms.TreeNode("控件"); System.Windows.Forms.TreeNode treeNode5 = new System.Windows.Forms.TreeNode("控件");
System.Windows.Forms.TreeNode treeNode2 = new System.Windows.Forms.TreeNode("窗体"); System.Windows.Forms.TreeNode treeNode6 = new System.Windows.Forms.TreeNode("窗体");
System.Windows.Forms.TreeNode treeNode3 = new System.Windows.Forms.TreeNode("图表"); System.Windows.Forms.TreeNode treeNode7 = new System.Windows.Forms.TreeNode("图表");
System.Windows.Forms.TreeNode treeNode4 = new System.Windows.Forms.TreeNode("主题"); System.Windows.Forms.TreeNode treeNode8 = new System.Windows.Forms.TreeNode("主题");
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FMain)); System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FMain));
this.uiLogo1 = new Sunny.UI.UILogo(); this.uiLogo1 = new Sunny.UI.UILogo();
this.uiAvatar = new Sunny.UI.UIAvatar(); this.uiAvatar = new Sunny.UI.UIAvatar();
@ -46,35 +46,39 @@
// //
// Aside // Aside
// //
this.Aside.ExpandSelectFirst = false;
this.Aside.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); this.Aside.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240)))));
this.Aside.ItemHeight = 36; this.Aside.ItemHeight = 36;
this.Aside.LineColor = System.Drawing.Color.Black; this.Aside.LineColor = System.Drawing.Color.Black;
this.Aside.Location = new System.Drawing.Point(2, 145); this.Aside.Location = new System.Drawing.Point(2, 145);
this.Aside.MenuStyle = Sunny.UI.UIMenuStyle.Black; this.Aside.MenuStyle = Sunny.UI.UIMenuStyle.Black;
this.Aside.SecondBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(66)))), ((int)(((byte)(66)))), ((int)(((byte)(66)))));
this.Aside.ShowOneNode = true; this.Aside.ShowOneNode = true;
this.Aside.ShowSecondBackColor = true;
this.Aside.ShowTips = true; this.Aside.ShowTips = true;
this.Aside.Size = new System.Drawing.Size(250, 573); this.Aside.Size = new System.Drawing.Size(250, 573);
this.Aside.Style = Sunny.UI.UIStyle.Custom; this.Aside.Style = Sunny.UI.UIStyle.Custom;
this.Aside.StyleCustomMode = true;
// //
// Header // Header
// //
this.Header.Controls.Add(this.uiAvatar); this.Header.Controls.Add(this.uiAvatar);
this.Header.Controls.Add(this.uiLogo1); this.Header.Controls.Add(this.uiLogo1);
this.Header.Location = new System.Drawing.Point(2, 35); this.Header.Location = new System.Drawing.Point(2, 35);
treeNode1.ImageIndex = 1; treeNode5.ImageIndex = 1;
treeNode1.Name = "节点0"; treeNode5.Name = "节点0";
treeNode1.Text = "控件"; treeNode5.Text = "控件";
treeNode2.Name = "节点1"; treeNode6.Name = "节点1";
treeNode2.Text = "窗体"; treeNode6.Text = "窗体";
treeNode3.Name = "节点2"; treeNode7.Name = "节点2";
treeNode3.Text = "图表"; treeNode7.Text = "图表";
treeNode4.Name = "节点2"; treeNode8.Name = "节点2";
treeNode4.Text = "主题"; treeNode8.Text = "主题";
this.Header.Nodes.AddRange(new System.Windows.Forms.TreeNode[] { this.Header.Nodes.AddRange(new System.Windows.Forms.TreeNode[] {
treeNode1, treeNode5,
treeNode2, treeNode6,
treeNode3, treeNode7,
treeNode4}); treeNode8});
this.Header.SelectedIndex = 0; this.Header.SelectedIndex = 0;
this.Header.Size = new System.Drawing.Size(1020, 110); this.Header.Size = new System.Drawing.Size(1020, 110);
this.Header.Style = Sunny.UI.UIStyle.Custom; this.Header.Style = Sunny.UI.UIStyle.Custom;

View File

@ -338,6 +338,7 @@ namespace Sunny.UI
selectedColor = uiColor.SelectedColor; selectedColor = uiColor.SelectedColor;
foreColor = uiColor.UnSelectedForeColor; foreColor = uiColor.UnSelectedForeColor;
hoverColor = uiColor.HoverColor; hoverColor = uiColor.HoverColor;
secondBackColor = uiColor.SecondBackColor;
if (Bar != null) if (Bar != null)
{ {
@ -445,6 +446,38 @@ namespace Sunny.UI
node.ImageIndex = imageIndex; node.ImageIndex = imageIndex;
} }
private bool showSecondBackColor;
[DefaultValue(false)]
[Description("显示二级节点背景颜色"), Category("SunnyUI")]
public bool ShowSecondBackColor
{
get => showSecondBackColor;
set
{
showSecondBackColor = value;
Invalidate();
}
}
private Color secondBackColor = UIColor.Blue;
[DefaultValue(typeof(Color), "66, 66, 66")]
[Description("二级节点背景颜色"), Category("SunnyUI")]
public Color SecondBackColor
{
get => secondBackColor;
set
{
if (secondBackColor != value)
{
secondBackColor = value;
_style = UIStyle.Custom;
Invalidate();
}
}
}
protected override void OnDrawNode(DrawTreeNodeEventArgs e) protected override void OnDrawNode(DrawTreeNodeEventArgs e)
{ {
if (BorderStyle != BorderStyle.None) if (BorderStyle != BorderStyle.None)
@ -495,7 +528,13 @@ namespace Sunny.UI
} }
else else
{ {
e.Graphics.FillRectangle(fillColor, new Rectangle(new Point(0, e.Node.Bounds.Y), new Size(Width, e.Node.Bounds.Height))); Color color = fillColor;
if (showSecondBackColor && e.Node.Level > 0)
{
color = SecondBackColor;
}
e.Graphics.FillRectangle(color, new Rectangle(new Point(0, e.Node.Bounds.Y), new Size(Width, e.Node.Bounds.Height)));
e.Graphics.DrawString(e.Node.Text, Font, ForeColor, drawLeft, e.Bounds.Y + (ItemHeight - sf.Height) / 2.0f); e.Graphics.DrawString(e.Node.Text, Font, ForeColor, drawLeft, e.Bounds.Y + (ItemHeight - sf.Height) / 2.0f);
} }

View File

@ -54,7 +54,7 @@ namespace Sunny.UI
public virtual Color SelectedColor => Color.FromArgb(36, 36, 36); public virtual Color SelectedColor => Color.FromArgb(36, 36, 36);
public virtual Color UnSelectedForeColor => Color.FromArgb(240, 240, 240); public virtual Color UnSelectedForeColor => Color.FromArgb(240, 240, 240);
public virtual Color HoverColor => Color.FromArgb(76, 76, 76); public virtual Color HoverColor => Color.FromArgb(76, 76, 76);
public virtual Color SecondBackColor => Color.FromArgb(66, 66, 66);
public override string ToString() public override string ToString()
{ {
return Style.DisplayText(); return Style.DisplayText();
@ -74,9 +74,10 @@ namespace Sunny.UI
public class UIMenuWhiteColor : UIMenuColor public class UIMenuWhiteColor : UIMenuColor
{ {
public override UIMenuStyle Style => UIMenuStyle.White; public override UIMenuStyle Style => UIMenuStyle.White;
public override Color BackColor => Color.FromArgb(250, 250, 250); public override Color BackColor => Color.FromArgb(240, 240, 240);
public override Color SelectedColor => Color.FromArgb(240, 240, 240); public override Color SelectedColor => Color.FromArgb(250, 250, 250);
public override Color UnSelectedForeColor => UIFontColor.Primary; public override Color UnSelectedForeColor => UIFontColor.Primary;
public override Color HoverColor => Color.FromArgb(230, 230, 230); public override Color HoverColor => Color.FromArgb(230, 230, 230);
public override Color SecondBackColor => Color.FromArgb(235, 235, 235);
} }
} }