U盘PE| w764位旗舰版下载 | U盘装win7系统 | U盘启动 |win7pe | win10下载 |加入收藏土豆PE官网U盘PE,U盘装win7系统,win7pe,U盘启动,U盘装系统,w764位旗舰版下载站!
当前位置:主页 > 帮助中心 > 帮助中心 >

视觉系统设计实例halcon-winform-11.菜单折叠与展示

来源:http://www.tudoupe.com时间:2022-07-29

随着越来越多的节点功能,我们的左手菜单似乎无法显示页面,当你需要分组菜单时,你可以分组显示和隐藏,例如图形。

已经出现了滚动条。

优化后效果图:

对菜单进行分组,当单击组执行组显示和隐藏时,用到的控件有FlowLayoutPanel,Button,这个想法是将按钮组装循环载入流程面板中,同时加载, 让内部组按钮加载,然后添加组按钮和绑定组按钮设置,添加组按钮单击执行事件以显示和隐藏在组内。代码如下:

Dictionary<int, List<Button>> groupButtons = new Dictionary<int, List<Button>>();

/// <summary>
/// 工具栏
/// </summary>
private async void LoadToolButtonAsync()
{
//让子组装载子组
var toolGroup = VisionTaskService.GetToolGroupData();
var toolNodes = await VisionTaskService.LoadNodeButtonAsync();

FlowPanelToolMenu.Controls.Clear();
foreach (var group in toolGroup) {
var currentNodes = toolNodes.Where(x => x.GroupType == group.Key).OrderBy(x => x.Id).ToList();
if (currentNodes.IsListNullOrEmpty() == false) {
if (currentNodes.Count > 1)
{
Button button = new Button();
button.FlatStyle = FlatStyle.Flat;
button.Text = group.Value;
button.Width = 160;
button.Tag = group.Key;
button.Height = 30;
button.ForeColor = Color.White;
button.BackColor = ColorTranslator.FromHtml("#2775b6");
button.Click += ToolButton_Click;
FlowPanelToolMenu.Controls.Add(button);
List<Button> btns = new List<Button>();
currentNodes.ForEach(tool =>
{
var btn = LoadToolButton(tool);
btn.Visible=false;
btns.Add(btn);
});
groupButtons.Add(group.Key, btns);

}
else {
LoadToolButton(currentNodes.FirstOrDefault());
}
}
}

Button LoadToolButton(BasicToolNodeEntity tool){
Button button = new Button();
button.FlatStyle = FlatStyle.Flat;
button.Text = tool.Name;
button.Tag = tool;
button.Width = 150;
//button.AllowDrop = true;
button.MouseDown += ToolButton_MouseDown;
button.Height = 40;
button.ForeColor = Color.White;
button.BackColor = ColorTranslator.FromHtml("#7a7374");
//button.Click += ToolButton_Click;
button.ImageAlign = ContentAlignment.MiddleLeft;
button.Image = VisionTaskService.GetButtonImage(tool.Code);
FlowPanelToolMenu.Controls.Add(button);
return button;
}

ToolFlowNodeMenuDelete.Click += ToolFlowNodeMenuDelete_Click;
PanelNodeLog.AutoScroll = true;
SplitPreview.SplitterDistance = SplitPreview.Height - 230;
SplitPanelMain.SplitterWidth = 5;
SplitPreview.SplitterWidth = 5;
SplitPanelMain.SplitterDistance = 400;
this.CbxImageType.ValueMember = "Image";
CbxImageType.DisplayMember = "HImageTypeName";
CbxImageType.SelectedIndexChanged += CbxImageType_SelectedIndexChanged;
FlowPanelToolMenu.Padding = new Padding(20, 5, 0, 0);
}

private void ToolButton_Click(object sender, EventArgs e)
{
var btn = (Button)sender;
var gType = btn.Tag.ToInt();

if (groupButtons.ContainsKey(gType))
{
groupButtons[gType].ForEach(x =>
{
x.Visible = !x.Visible;
});
}
}

Copyright © 2012-2014 Www.tudoupe.Com. 土豆启动 版权所有 意见建议:tdsky@tudoupe.com

土豆系统,土豆PE,win7系统下载,win7 64位旗舰版下载,u盘启动,u盘装系统,win10下载,win10正式版下载,win10 RTM正式版下载,win8下载,电脑蓝屏,IE11修复,网络受限,4K对齐,双系统,隐藏分区,系统安装不了,U盘装系统,笔记本装系统,台式机装系统,diskgenius运用,GHSOT装系统,U盘修复,U盘技巧,U盘速度,U盘不能格式化,U盘复制发生错误,U盘加密,U盘选购,开机黑屏,蓝屏,进不了系统,上不了网,打不开程序,点击无反应,系统设置,PE个性化,PE添加网络,PE维护系统

点击这里给我发消息