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; }
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(); } }
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); }
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); }