* UINavBar, UINavMenu: 重构扩展函数
This commit is contained in:
parent
a42cd389fc
commit
8beb5042ca
@ -592,11 +592,15 @@ namespace Sunny.UI
|
|||||||
/// 是否显示表格线
|
/// 是否显示表格线
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[Description("是否显示表格线"), Category("SunnyUI")]
|
[Description("是否显示表格线"), Category("SunnyUI")]
|
||||||
[DefaultValue(false)]
|
[DefaultValue(true)]
|
||||||
public bool ShowGridLine
|
public bool ShowGridLine
|
||||||
{
|
{
|
||||||
get => CellBorderStyle == DataGridViewCellBorderStyle.Single;
|
get => CellBorderStyle == DataGridViewCellBorderStyle.Single;
|
||||||
set => CellBorderStyle = value ? DataGridViewCellBorderStyle.Single : DataGridViewCellBorderStyle.None;
|
set
|
||||||
|
{
|
||||||
|
CellBorderStyle = value ? DataGridViewCellBorderStyle.Single : DataGridViewCellBorderStyle.None;
|
||||||
|
VBar.ShowLeftLine = value;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private Color _rectColor = UIColor.Blue;
|
private Color _rectColor = UIColor.Blue;
|
||||||
|
@ -22,6 +22,7 @@
|
|||||||
* 2021-06-08: V3.0.4 标题选中高亮颜色增加可调整高度
|
* 2021-06-08: V3.0.4 标题选中高亮颜色增加可调整高度
|
||||||
* 2021-08-07: V3.0.5 显示/隐藏子节点提示箭头,增加选中项圆角
|
* 2021-08-07: V3.0.5 显示/隐藏子节点提示箭头,增加选中项圆角
|
||||||
* 2022-03-19: V3.1.1 重构主题配色
|
* 2022-03-19: V3.1.1 重构主题配色
|
||||||
|
* 2022-04-14: V3.1.3 重构扩展函数
|
||||||
******************************************************************************/
|
******************************************************************************/
|
||||||
|
|
||||||
using System;
|
using System;
|
||||||
@ -133,31 +134,6 @@ namespace Sunny.UI
|
|||||||
[Description("关联的TabControl"), Category("SunnyUI")]
|
[Description("关联的TabControl"), Category("SunnyUI")]
|
||||||
public UITabControl TabControl { get; set; }
|
public UITabControl TabControl { get; set; }
|
||||||
|
|
||||||
public void SetNodeItem(TreeNode node, NavMenuItem item)
|
|
||||||
{
|
|
||||||
MenuHelper.Add(node, item);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void SetNodePageIndex(TreeNode node, int pageIndex)
|
|
||||||
{
|
|
||||||
MenuHelper.SetPageIndex(node, pageIndex);
|
|
||||||
}
|
|
||||||
|
|
||||||
public int GetPageIndex(TreeNode node)
|
|
||||||
{
|
|
||||||
return MenuHelper.GetPageIndex(node);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void SetNodeSymbol(TreeNode node, int symbol, int symbolSize = 24)
|
|
||||||
{
|
|
||||||
MenuHelper.SetSymbol(node, symbol, symbolSize);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void SetNodeImageIndex(TreeNode node, int imageIndex)
|
|
||||||
{
|
|
||||||
node.ImageIndex = imageIndex;
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Tag字符串
|
/// Tag字符串
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@ -407,12 +383,12 @@ namespace Sunny.UI
|
|||||||
if (Nodes.Count > 0 && value >= 0 && value < Nodes.Count)
|
if (Nodes.Count > 0 && value >= 0 && value < Nodes.Count)
|
||||||
{
|
{
|
||||||
selectedIndex = value;
|
selectedIndex = value;
|
||||||
NodeMouseClick?.Invoke(Nodes[SelectedIndex], selectedIndex, MenuHelper.GetPageIndex(Nodes[SelectedIndex]));
|
NodeMouseClick?.Invoke(Nodes[SelectedIndex], selectedIndex, GetPageIndex(Nodes[SelectedIndex]));
|
||||||
|
|
||||||
if (Nodes[value].Nodes.Count == 0)
|
if (Nodes[value].Nodes.Count == 0)
|
||||||
{
|
{
|
||||||
MenuItemClick?.Invoke(Nodes[SelectedIndex].Text, selectedIndex, MenuHelper.GetPageIndex(Nodes[SelectedIndex]));
|
MenuItemClick?.Invoke(Nodes[SelectedIndex].Text, selectedIndex, GetPageIndex(Nodes[SelectedIndex]));
|
||||||
TabControl?.SelectPage(MenuHelper.GetPageIndex(Nodes[SelectedIndex]));
|
TabControl?.SelectPage(GetPageIndex(Nodes[SelectedIndex]));
|
||||||
}
|
}
|
||||||
|
|
||||||
Invalidate();
|
Invalidate();
|
||||||
@ -692,9 +668,9 @@ namespace Sunny.UI
|
|||||||
ToolStripMenuItem item = (ToolStripMenuItem)sender;
|
ToolStripMenuItem item = (ToolStripMenuItem)sender;
|
||||||
if (item.Tag != null && item.Tag is TreeNode node)
|
if (item.Tag != null && item.Tag is TreeNode node)
|
||||||
{
|
{
|
||||||
TabControl?.SelectPage(MenuHelper.GetPageIndex(node));
|
TabControl?.SelectPage(GetPageIndex(node));
|
||||||
MenuItemClick?.Invoke(item.Text, selectedIndex, MenuHelper.GetPageIndex(node));
|
MenuItemClick?.Invoke(item.Text, selectedIndex, GetPageIndex(node));
|
||||||
NodeMouseClick?.Invoke(node, selectedIndex, MenuHelper.GetPageIndex(node));
|
NodeMouseClick?.Invoke(node, selectedIndex, GetPageIndex(node));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -748,59 +724,68 @@ namespace Sunny.UI
|
|||||||
|
|
||||||
public string Version { get; }
|
public string Version { get; }
|
||||||
|
|
||||||
|
#region 扩展函数
|
||||||
|
|
||||||
|
public UINavBar SetNodePageIndex(TreeNode node, int pageIndex)
|
||||||
|
{
|
||||||
|
MenuHelper.SetPageIndex(node, pageIndex);
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public UINavBar SetNodeSymbol(TreeNode node, int symbol, int symbolSize = 24)
|
||||||
|
{
|
||||||
|
MenuHelper.SetSymbol(node, symbol, symbolSize);
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public UINavBar SetNodeImageIndex(TreeNode node, int imageIndex)
|
||||||
|
{
|
||||||
|
node.ImageIndex = imageIndex;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
public TreeNode CreateNode(string text, int pageIndex)
|
public TreeNode CreateNode(string text, int pageIndex)
|
||||||
{
|
{
|
||||||
return CreateNode(new NavMenuItem(text, pageIndex));
|
return CreateNode(new NavMenuItem(text, pageIndex));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public TreeNode CreateNode(string text, Guid pageGuid)
|
||||||
|
{
|
||||||
|
return CreateNode(new NavMenuItem(text, pageGuid));
|
||||||
|
}
|
||||||
|
|
||||||
public TreeNode CreateNode(UIPage page)
|
public TreeNode CreateNode(UIPage page)
|
||||||
{
|
{
|
||||||
return CreateNode(new NavMenuItem(page));
|
return CreateNode(new NavMenuItem(page));
|
||||||
}
|
}
|
||||||
|
|
||||||
public TreeNode CreateNode(NavMenuItem item)
|
|
||||||
{
|
|
||||||
TreeNode node = new TreeNode(item.Text);
|
|
||||||
Nodes.Add(node);
|
|
||||||
SetNodeItem(node, item);
|
|
||||||
return node;
|
|
||||||
}
|
|
||||||
|
|
||||||
public TreeNode CreateNode(string text, int imageIndex, int pageIndex)
|
|
||||||
{
|
|
||||||
return CreateNode(new NavMenuItem(text, pageIndex), imageIndex);
|
|
||||||
}
|
|
||||||
|
|
||||||
public TreeNode CreateNode(UIPage page, int imageIndex)
|
|
||||||
{
|
|
||||||
return CreateNode(new NavMenuItem(page), imageIndex);
|
|
||||||
}
|
|
||||||
|
|
||||||
public TreeNode CreateNode(NavMenuItem item, int imageIndex)
|
|
||||||
{
|
|
||||||
TreeNode node = new TreeNode(item.Text);
|
|
||||||
Nodes.Add(node);
|
|
||||||
SetNodeItem(node, item);
|
|
||||||
node.ImageIndex = imageIndex;
|
|
||||||
return node;
|
|
||||||
}
|
|
||||||
|
|
||||||
public TreeNode CreateNode(string text, int symbol, int symbolSize, int pageIndex)
|
public TreeNode CreateNode(string text, int symbol, int symbolSize, int pageIndex)
|
||||||
{
|
{
|
||||||
return CreateNode(new NavMenuItem(text, pageIndex), symbol, symbolSize);
|
var node = CreateNode(text, pageIndex);
|
||||||
|
SetNodeSymbol(node, symbol, symbolSize);
|
||||||
|
return node;
|
||||||
}
|
}
|
||||||
|
|
||||||
public TreeNode CreateNode(UIPage page, int symbol, int symbolSize)
|
public TreeNode CreateChildNode(TreeNode parent, string text, Guid pageGuid)
|
||||||
{
|
{
|
||||||
return CreateNode(new NavMenuItem(page), symbol, symbolSize);
|
return CreateChildNode(parent, new NavMenuItem(text, pageGuid));
|
||||||
}
|
}
|
||||||
|
|
||||||
public TreeNode CreateNode(NavMenuItem item, int symbol, int symbolSize)
|
public int GetPageIndex(TreeNode node)
|
||||||
|
{
|
||||||
|
return MenuHelper.GetPageIndex(node);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void SetNodeItem(TreeNode node, NavMenuItem item)
|
||||||
|
{
|
||||||
|
MenuHelper.Add(node, item);
|
||||||
|
}
|
||||||
|
|
||||||
|
private TreeNode CreateNode(NavMenuItem item)
|
||||||
{
|
{
|
||||||
TreeNode node = new TreeNode(item.Text);
|
TreeNode node = new TreeNode(item.Text);
|
||||||
Nodes.Add(node);
|
Nodes.Add(node);
|
||||||
SetNodeItem(node, item);
|
SetNodeItem(node, item);
|
||||||
MenuHelper.SetSymbol(node, symbol, symbolSize);
|
|
||||||
return node;
|
return node;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -814,7 +799,14 @@ namespace Sunny.UI
|
|||||||
return CreateChildNode(parent, new NavMenuItem(page));
|
return CreateChildNode(parent, new NavMenuItem(page));
|
||||||
}
|
}
|
||||||
|
|
||||||
public TreeNode CreateChildNode(TreeNode parent, NavMenuItem item)
|
public TreeNode CreateChildNode(TreeNode parent, string text, int symbol, int symbolSize, int pageIndex)
|
||||||
|
{
|
||||||
|
var node = CreateChildNode(parent, text, pageIndex);
|
||||||
|
SetNodeSymbol(node, symbol, symbolSize);
|
||||||
|
return node;
|
||||||
|
}
|
||||||
|
|
||||||
|
private TreeNode CreateChildNode(TreeNode parent, NavMenuItem item)
|
||||||
{
|
{
|
||||||
TreeNode childNode = new TreeNode(item.Text);
|
TreeNode childNode = new TreeNode(item.Text);
|
||||||
parent.Nodes.Add(childNode);
|
parent.Nodes.Add(childNode);
|
||||||
@ -822,42 +814,6 @@ namespace Sunny.UI
|
|||||||
return childNode;
|
return childNode;
|
||||||
}
|
}
|
||||||
|
|
||||||
public TreeNode CreateChildNode(TreeNode parent, int imageIndex, string text, int pageIndex)
|
#endregion 扩展函数
|
||||||
{
|
|
||||||
return CreateChildNode(parent, imageIndex, new NavMenuItem(text, pageIndex));
|
|
||||||
}
|
|
||||||
|
|
||||||
public TreeNode CreateChildNode(TreeNode parent, int imageIndex, UIPage page)
|
|
||||||
{
|
|
||||||
return CreateChildNode(parent, imageIndex, new NavMenuItem(page));
|
|
||||||
}
|
|
||||||
|
|
||||||
public TreeNode CreateChildNode(TreeNode parent, int imageIndex, NavMenuItem item)
|
|
||||||
{
|
|
||||||
TreeNode childNode = new TreeNode(item.Text);
|
|
||||||
parent.Nodes.Add(childNode);
|
|
||||||
SetNodeItem(childNode, item);
|
|
||||||
childNode.ImageIndex = imageIndex;
|
|
||||||
return childNode;
|
|
||||||
}
|
|
||||||
|
|
||||||
public TreeNode CreateChildNode(TreeNode parent, int symbol, int symbolSize, string text, int pageIndex)
|
|
||||||
{
|
|
||||||
return CreateChildNode(parent, symbol, symbolSize, new NavMenuItem(text, pageIndex));
|
|
||||||
}
|
|
||||||
|
|
||||||
public TreeNode CreateChildNode(TreeNode parent, int symbol, int symbolSize, UIPage page)
|
|
||||||
{
|
|
||||||
return CreateChildNode(parent, symbol, symbolSize, new NavMenuItem(page));
|
|
||||||
}
|
|
||||||
|
|
||||||
public TreeNode CreateChildNode(TreeNode parent, int symbol, int symbolSize, NavMenuItem item)
|
|
||||||
{
|
|
||||||
TreeNode childNode = new TreeNode(item.Text);
|
|
||||||
parent.Nodes.Add(childNode);
|
|
||||||
SetNodeItem(childNode, item);
|
|
||||||
MenuHelper.SetSymbol(childNode, symbol, symbolSize);
|
|
||||||
return childNode;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -26,6 +26,7 @@
|
|||||||
* 2022-01-02: V3.0.9 滚动条可设置颜色
|
* 2022-01-02: V3.0.9 滚动条可设置颜色
|
||||||
* 2022-03-19: V3.1.1 重构主题配色
|
* 2022-03-19: V3.1.1 重构主题配色
|
||||||
* 2022-03-24: V3.1.1 修复TipsText显示位置
|
* 2022-03-24: V3.1.1 修复TipsText显示位置
|
||||||
|
* 2022-04-14: V3.1.3 重构扩展函数
|
||||||
******************************************************************************/
|
******************************************************************************/
|
||||||
|
|
||||||
using System;
|
using System;
|
||||||
@ -554,43 +555,6 @@ namespace Sunny.UI
|
|||||||
set => checkBoxes = false;
|
set => checkBoxes = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
private readonly NavMenuHelper MenuHelper = new NavMenuHelper();
|
|
||||||
|
|
||||||
public int GetPageIndex(TreeNode node)
|
|
||||||
{
|
|
||||||
return MenuHelper.GetPageIndex(node);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void SetNodeItem(TreeNode node, NavMenuItem item)
|
|
||||||
{
|
|
||||||
MenuHelper.Add(node, item);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void SetNodePageIndex(TreeNode node, int pageIndex)
|
|
||||||
{
|
|
||||||
MenuHelper.SetPageIndex(node, pageIndex);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void SetNodeTipsText(TreeNode node, string nodeTipsText)
|
|
||||||
{
|
|
||||||
MenuHelper.SetTipsText(node, nodeTipsText);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void SetNodeTipsText(TreeNode node, string nodeTipsText, Color nodeTipsBackColor, Color nodeTipsForeColor)
|
|
||||||
{
|
|
||||||
MenuHelper.SetTipsText(node, nodeTipsText, nodeTipsBackColor, nodeTipsForeColor);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void SetNodeSymbol(TreeNode node, int symbol, int symbolSize = 24)
|
|
||||||
{
|
|
||||||
MenuHelper.SetSymbol(node, symbol, symbolSize);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void SetNodeImageIndex(TreeNode node, int imageIndex)
|
|
||||||
{
|
|
||||||
node.ImageIndex = imageIndex;
|
|
||||||
}
|
|
||||||
|
|
||||||
private bool showSecondBackColor;
|
private bool showSecondBackColor;
|
||||||
|
|
||||||
[DefaultValue(false)]
|
[DefaultValue(false)]
|
||||||
@ -882,26 +846,6 @@ namespace Sunny.UI
|
|||||||
ShowSelectedNode();
|
ShowSelectedNode();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SelectPage(int pageIndex)
|
|
||||||
{
|
|
||||||
var node = MenuHelper.GetTreeNode(pageIndex);
|
|
||||||
if (node != null)
|
|
||||||
{
|
|
||||||
SelectedNode = node;
|
|
||||||
ShowSelectedNode();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public void SelectPage(Guid pageGuid)
|
|
||||||
{
|
|
||||||
var node = MenuHelper.GetTreeNode(pageGuid);
|
|
||||||
if (node != null)
|
|
||||||
{
|
|
||||||
SelectedNode = node;
|
|
||||||
ShowSelectedNode();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void ShowSelectedNode()
|
private void ShowSelectedNode()
|
||||||
{
|
{
|
||||||
NavMenuItem item = MenuHelper[SelectedNode];
|
NavMenuItem item = MenuHelper[SelectedNode];
|
||||||
@ -920,12 +864,7 @@ namespace Sunny.UI
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
MenuItemClick?.Invoke(SelectedNode, MenuHelper[SelectedNode], MenuHelper.GetPageIndex(SelectedNode));
|
MenuItemClick?.Invoke(SelectedNode, MenuHelper[SelectedNode], GetPageIndex(SelectedNode));
|
||||||
}
|
|
||||||
|
|
||||||
public TreeNode GetTreeNode(int pageIndex)
|
|
||||||
{
|
|
||||||
return MenuHelper.GetTreeNode(pageIndex);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override void OnMouseWheel(MouseEventArgs e)
|
protected override void OnMouseWheel(MouseEventArgs e)
|
||||||
@ -1028,64 +967,99 @@ namespace Sunny.UI
|
|||||||
Win32.User.ShowScrollBar(Handle, 3, false);
|
Win32.User.ShowScrollBar(Handle, 3, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#region 扩展函数
|
||||||
|
private readonly NavMenuHelper MenuHelper = new NavMenuHelper();
|
||||||
|
|
||||||
|
public void SelectPage(int pageIndex)
|
||||||
|
{
|
||||||
|
var node = MenuHelper.GetTreeNode(pageIndex);
|
||||||
|
if (node != null)
|
||||||
|
{
|
||||||
|
SelectedNode = node;
|
||||||
|
ShowSelectedNode();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void SelectPage(Guid pageGuid)
|
||||||
|
{
|
||||||
|
var node = MenuHelper.GetTreeNode(pageGuid);
|
||||||
|
if (node != null)
|
||||||
|
{
|
||||||
|
SelectedNode = node;
|
||||||
|
ShowSelectedNode();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public int GetPageIndex(TreeNode node)
|
||||||
|
{
|
||||||
|
return MenuHelper.GetPageIndex(node);
|
||||||
|
}
|
||||||
|
|
||||||
|
public TreeNode GetTreeNode(int pageIndex)
|
||||||
|
{
|
||||||
|
return MenuHelper.GetTreeNode(pageIndex);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void SetNodeItem(TreeNode node, NavMenuItem item)
|
||||||
|
{
|
||||||
|
MenuHelper.Add(node, item);
|
||||||
|
}
|
||||||
|
|
||||||
|
public UINavMenu SetNodePageIndex(TreeNode node, int pageIndex)
|
||||||
|
{
|
||||||
|
MenuHelper.SetPageIndex(node, pageIndex);
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public UINavMenu SetNodeSymbol(TreeNode node, int symbol, int symbolSize = 24)
|
||||||
|
{
|
||||||
|
MenuHelper.SetSymbol(node, symbol, symbolSize);
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public UINavMenu SetNodeImageIndex(TreeNode node, int imageIndex)
|
||||||
|
{
|
||||||
|
node.ImageIndex = imageIndex;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void SetNodeTipsText(TreeNode node, string nodeTipsText)
|
||||||
|
{
|
||||||
|
MenuHelper.SetTipsText(node, nodeTipsText);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void SetNodeTipsText(TreeNode node, string nodeTipsText, Color nodeTipsBackColor, Color nodeTipsForeColor)
|
||||||
|
{
|
||||||
|
MenuHelper.SetTipsText(node, nodeTipsText, nodeTipsBackColor, nodeTipsForeColor);
|
||||||
|
}
|
||||||
|
|
||||||
public TreeNode CreateNode(string text, int pageIndex)
|
public TreeNode CreateNode(string text, int pageIndex)
|
||||||
{
|
{
|
||||||
return CreateNode(new NavMenuItem(text, pageIndex));
|
return CreateNode(new NavMenuItem(text, pageIndex));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public TreeNode CreateNode(string text, Guid pageGuid)
|
||||||
|
{
|
||||||
|
return CreateNode(new NavMenuItem(text, pageGuid));
|
||||||
|
}
|
||||||
|
|
||||||
public TreeNode CreateNode(UIPage page)
|
public TreeNode CreateNode(UIPage page)
|
||||||
{
|
{
|
||||||
return CreateNode(new NavMenuItem(page));
|
return CreateNode(new NavMenuItem(page));
|
||||||
}
|
}
|
||||||
|
|
||||||
public TreeNode CreateNode(NavMenuItem item)
|
|
||||||
{
|
|
||||||
TreeNode node = new TreeNode(item.Text);
|
|
||||||
Nodes.Add(node);
|
|
||||||
SetNodeItem(node, item);
|
|
||||||
return node;
|
|
||||||
}
|
|
||||||
|
|
||||||
public TreeNode CreateNode(string text, int imageIndex, int pageIndex)
|
|
||||||
{
|
|
||||||
return CreateNode(new NavMenuItem(text, pageIndex), imageIndex);
|
|
||||||
}
|
|
||||||
|
|
||||||
public TreeNode CreateNode(UIPage page, int imageIndex)
|
|
||||||
{
|
|
||||||
return CreateNode(new NavMenuItem(page), imageIndex);
|
|
||||||
}
|
|
||||||
|
|
||||||
public TreeNode CreateNode(NavMenuItem item, int imageIndex)
|
|
||||||
{
|
|
||||||
TreeNode node = new TreeNode(item.Text);
|
|
||||||
Nodes.Add(node);
|
|
||||||
SetNodeItem(node, item);
|
|
||||||
node.ImageIndex = imageIndex;
|
|
||||||
return node;
|
|
||||||
}
|
|
||||||
|
|
||||||
public TreeNode CreateNode(int symbol, int symbolSize, UIPage page)
|
|
||||||
{
|
|
||||||
return CreateNode(new NavMenuItem(page), symbol, symbolSize);
|
|
||||||
}
|
|
||||||
|
|
||||||
public TreeNode CreateNode(string text, int symbol, int symbolSize, int pageIndex)
|
public TreeNode CreateNode(string text, int symbol, int symbolSize, int pageIndex)
|
||||||
{
|
{
|
||||||
return CreateNode(new NavMenuItem(text, pageIndex), symbol, symbolSize);
|
var node = CreateNode(text, pageIndex);
|
||||||
|
SetNodeSymbol(node, symbol, symbolSize);
|
||||||
|
return node;
|
||||||
}
|
}
|
||||||
|
|
||||||
public TreeNode CreateNode(UIPage page, int symbol, int symbolSize)
|
private TreeNode CreateNode(NavMenuItem item)
|
||||||
{
|
|
||||||
return CreateNode(new NavMenuItem(page), symbol, symbolSize);
|
|
||||||
}
|
|
||||||
|
|
||||||
public TreeNode CreateNode(NavMenuItem item, int symbol, int symbolSize)
|
|
||||||
{
|
{
|
||||||
TreeNode node = new TreeNode(item.Text);
|
TreeNode node = new TreeNode(item.Text);
|
||||||
Nodes.Add(node);
|
Nodes.Add(node);
|
||||||
SetNodeItem(node, item);
|
SetNodeItem(node, item);
|
||||||
MenuHelper.SetSymbol(node, symbol, symbolSize);
|
|
||||||
return node;
|
return node;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1094,6 +1068,11 @@ namespace Sunny.UI
|
|||||||
return CreateChildNode(parent, new NavMenuItem(text, pageIndex));
|
return CreateChildNode(parent, new NavMenuItem(text, pageIndex));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public TreeNode CreateChildNode(TreeNode parent, string text, Guid pageGuid)
|
||||||
|
{
|
||||||
|
return CreateChildNode(parent, new NavMenuItem(text, pageGuid));
|
||||||
|
}
|
||||||
|
|
||||||
public TreeNode CreateChildNode(TreeNode parent, UIPage page)
|
public TreeNode CreateChildNode(TreeNode parent, UIPage page)
|
||||||
{
|
{
|
||||||
var childNode = CreateChildNode(parent, new NavMenuItem(page));
|
var childNode = CreateChildNode(parent, new NavMenuItem(page));
|
||||||
@ -1105,7 +1084,14 @@ namespace Sunny.UI
|
|||||||
return childNode;
|
return childNode;
|
||||||
}
|
}
|
||||||
|
|
||||||
public TreeNode CreateChildNode(TreeNode parent, NavMenuItem item)
|
public TreeNode CreateChildNode(TreeNode parent, string text, int symbol, int symbolSize, int pageIndex)
|
||||||
|
{
|
||||||
|
var node = CreateChildNode(parent, text, pageIndex);
|
||||||
|
SetNodeSymbol(node, symbol, symbolSize);
|
||||||
|
return node;
|
||||||
|
}
|
||||||
|
|
||||||
|
private TreeNode CreateChildNode(TreeNode parent, NavMenuItem item)
|
||||||
{
|
{
|
||||||
TreeNode childNode = new TreeNode(item.Text);
|
TreeNode childNode = new TreeNode(item.Text);
|
||||||
parent.Nodes.Add(childNode);
|
parent.Nodes.Add(childNode);
|
||||||
@ -1113,44 +1099,6 @@ namespace Sunny.UI
|
|||||||
return childNode;
|
return childNode;
|
||||||
}
|
}
|
||||||
|
|
||||||
public TreeNode CreateChildNode(TreeNode parent, int imageIndex, string text, int pageIndex)
|
|
||||||
{
|
|
||||||
return CreateChildNode(parent, imageIndex, new NavMenuItem(text, pageIndex));
|
|
||||||
}
|
|
||||||
|
|
||||||
public TreeNode CreateChildNode(TreeNode parent, int imageIndex, UIPage page)
|
|
||||||
{
|
|
||||||
return CreateChildNode(parent, imageIndex, new NavMenuItem(page));
|
|
||||||
}
|
|
||||||
|
|
||||||
public TreeNode CreateChildNode(TreeNode parent, int imageIndex, NavMenuItem item)
|
|
||||||
{
|
|
||||||
TreeNode childNode = new TreeNode(item.Text);
|
|
||||||
parent.Nodes.Add(childNode);
|
|
||||||
SetNodeItem(childNode, item);
|
|
||||||
childNode.ImageIndex = imageIndex;
|
|
||||||
return childNode;
|
|
||||||
}
|
|
||||||
|
|
||||||
public TreeNode CreateChildNode(TreeNode parent, int symbol, int symbolSize, string text, int pageIndex)
|
|
||||||
{
|
|
||||||
return CreateChildNode(parent, symbol, symbolSize, new NavMenuItem(text, pageIndex));
|
|
||||||
}
|
|
||||||
|
|
||||||
public TreeNode CreateChildNode(TreeNode parent, int symbol, int symbolSize, UIPage page)
|
|
||||||
{
|
|
||||||
return CreateChildNode(parent, symbol, symbolSize, new NavMenuItem(page));
|
|
||||||
}
|
|
||||||
|
|
||||||
public TreeNode CreateChildNode(TreeNode parent, int symbol, int symbolSize, NavMenuItem item)
|
|
||||||
{
|
|
||||||
TreeNode childNode = new TreeNode(item.Text);
|
|
||||||
parent.Nodes.Add(childNode);
|
|
||||||
SetNodeItem(childNode, item);
|
|
||||||
MenuHelper.SetSymbol(childNode, symbol, symbolSize);
|
|
||||||
return childNode;
|
|
||||||
}
|
|
||||||
|
|
||||||
private readonly Dictionary<TreeNode, List<int>> TreeNodeSymbols = new Dictionary<TreeNode, List<int>>();
|
private readonly Dictionary<TreeNode, List<int>> TreeNodeSymbols = new Dictionary<TreeNode, List<int>>();
|
||||||
|
|
||||||
public void AddNodeRightSymbol(TreeNode node, int symbol)
|
public void AddNodeRightSymbol(TreeNode node, int symbol)
|
||||||
@ -1184,6 +1132,8 @@ namespace Sunny.UI
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endregion 扩展函数
|
||||||
|
|
||||||
public delegate void OnNodeRightSymbolClick(object sender, TreeNode node, int index, int symbol);
|
public delegate void OnNodeRightSymbolClick(object sender, TreeNode node, int index, int symbol);
|
||||||
|
|
||||||
public event OnNodeRightSymbolClick NodeRightSymbolClick;
|
public event OnNodeRightSymbolClick NodeRightSymbolClick;
|
||||||
|
@ -17,9 +17,9 @@
|
|||||||
* 创建日期: 2020-01-01
|
* 创建日期: 2020-01-01
|
||||||
*
|
*
|
||||||
* 2020-01-01: V2.2.0 增加文件说明
|
* 2020-01-01: V2.2.0 增加文件说明
|
||||||
|
* 2022-04-14: V3.1.3 重构扩展函数
|
||||||
******************************************************************************/
|
******************************************************************************/
|
||||||
|
|
||||||
|
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Concurrent;
|
using System.Collections.Concurrent;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
@ -28,7 +28,7 @@ using System.Windows.Forms;
|
|||||||
|
|
||||||
namespace Sunny.UI
|
namespace Sunny.UI
|
||||||
{
|
{
|
||||||
public class NavMenuHelper
|
internal class NavMenuHelper
|
||||||
{
|
{
|
||||||
public NavMenuItem this[TreeNode node]
|
public NavMenuItem this[TreeNode node]
|
||||||
{
|
{
|
||||||
@ -326,12 +326,12 @@ namespace Sunny.UI
|
|||||||
|
|
||||||
private TabPage CreateTabIfNotExists(int pageIndex)
|
private TabPage CreateTabIfNotExists(int pageIndex)
|
||||||
{
|
{
|
||||||
return CreateTabIfNotExists(new NavMenuItem(pageIndex));
|
return CreateTabIfNotExists(new NavMenuItem("", pageIndex));
|
||||||
}
|
}
|
||||||
|
|
||||||
private TabPage CreateTabIfNotExists(Guid guid)
|
private TabPage CreateTabIfNotExists(Guid guid)
|
||||||
{
|
{
|
||||||
return CreateTabIfNotExists(new NavMenuItem(guid));
|
return CreateTabIfNotExists(new NavMenuItem("", guid));
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool SelectPage(int pageIndex)
|
public bool SelectPage(int pageIndex)
|
||||||
@ -532,14 +532,10 @@ namespace Sunny.UI
|
|||||||
Text = text;
|
Text = text;
|
||||||
}
|
}
|
||||||
|
|
||||||
public NavMenuItem(int pageIndex)
|
public NavMenuItem(string text, Guid guid)
|
||||||
{
|
|
||||||
PageIndex = pageIndex;
|
|
||||||
}
|
|
||||||
|
|
||||||
public NavMenuItem(Guid guid)
|
|
||||||
{
|
{
|
||||||
PageGuid = guid;
|
PageGuid = guid;
|
||||||
|
Text = text;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -76,6 +76,24 @@ namespace Sunny.UI
|
|||||||
titleForeColor = UIStyles.Blue.PageTitleForeColor;
|
titleForeColor = UIStyles.Blue.PageTitleForeColor;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public UIPage SetPageIndex(int pageIndex)
|
||||||
|
{
|
||||||
|
PageIndex = pageIndex;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public UIPage SetPageGuid(Guid pageGuid)
|
||||||
|
{
|
||||||
|
PageGuid = pageGuid;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public UIPage SetText(string text)
|
||||||
|
{
|
||||||
|
Text = text;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
[DefaultValue(false), Category("SunnyUI"), Description("禁止控件跟随窗体缩放")]
|
[DefaultValue(false), Category("SunnyUI"), Description("禁止控件跟随窗体缩放")]
|
||||||
public bool ZoomScaleDisabled { get; set; }
|
public bool ZoomScaleDisabled { get; set; }
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user