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


    随着节点功能越来越多,我们的左侧菜单出现一页显示不下的情况,这时需要对菜单做下分组,然后可以分组显示与隐藏,如图。

     已经出现了滚动条。

    优化后效果图:

    对菜单进行分组,并且点击分组时进行组内显示与隐藏,用到的控件有FlowLayoutPanel,Button,思路是将按钮分组循环加载到flowPanel中,同时加载时获取组内按钮进行加载,然后加组按钮与组内按钮集合进行绑定,添加组按钮点击事件实现 组内的显示与隐藏。代码如下:

     Dictionary> groupButtons = new Dictionary>();

     ///


            /// 工具栏
            ///

            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

  • 相关阅读:
    企业运维实践-丢弃手中的 docker build , 使用Kaniko直接在Kubernetes集群或Containerd环境中快速进行构建推送容器镜像
    Flink 状态编程
    五、域对象共享数据
    Unity Shader Graph 节点入门
    ELK集群 日志中心集群、kafka、logstash
    如何反编译jar并修改后还原为jar
    java基于Springboot+vue大学社团管理系统 elementui
    Elasticsearch: Alias
    ant-design-vue Table pagination分页实现
    计算机毕设(附源码)JAVA-SSM基于课程群的实验管理平台
  • 原文地址:https://blog.csdn.net/u011540323/article/details/126032232