Ejemplo n.º 1
0
        private TreeNode GetTreeNode(Menu menu)
        {
            var treeNode = new TreeNode(menu.Text){Name = menu.Index};

            if (menu.HasChildren)
            {
                foreach (Menu child in menu.Children)
                {
                    treeNode.Nodes.Add(GetTreeNode(child));
                }
            }

            return treeNode;
        }
Ejemplo n.º 2
0
        private void MenuButtonClicked(object sender, EventArgs e)
        {
            var button = sender as ButtonX;

            treeMenu.Nodes.Clear();

            if (button != null)
            {
                Menu selectedMenu = IterateThrough(_menus, x => @"btnMenu" + x.Text == button.Name);

                TreeNode node = GetTreeNode(selectedMenu);

                treeMenu.Nodes.Add(node);
                treeMenu.Nodes[0].Expand();
            }
        }
Ejemplo n.º 3
0
        private TreeNode GetTreeNode(Menu menu)
        {
            var treeNode = new TreeNode(menu.Text)
            {
                Name = menu.Index
            };

            if (menu.HasChildren)
            {
                foreach (Menu child in menu.Children)
                {
                    treeNode.Nodes.Add(GetTreeNode(child));
                }
            }

            return(treeNode);
        }
Ejemplo n.º 4
0
        private Menu IterateThrough(IEnumerable <Menu> menus, Expression <Func <Menu, bool> > expression)
        {
            Menu selectedMenu = null;

            foreach (Menu menu in menus)
            {
                if (expression.Compile()(menu))
                {
                    selectedMenu = menu;
                }
                else
                {
                    if (menu.HasChildren && selectedMenu == null)
                    {
                        selectedMenu = IterateThrough(menu.Children, expression);
                    }
                }
            }

            return(selectedMenu);
        }