private static void AddChild(List<Sys_FormMaster_fom_Info> infos, TreeNodeInfo parent) { List<Sys_FormMaster_fom_Info> listSubForms = infos.Where(d => d.fom_iParentID == int.Parse(parent.Name)).ToList(); TreeNodeInfo[] tNodes = new TreeNodeInfo[listSubForms.Count]; parent.TreeNodeInfos = tNodes; if (listSubForms.Count == 0) { return; } int i = 0; foreach (Sys_FormMaster_fom_Info formItem in listSubForms) { TreeNodeInfo subNode = new TreeNodeInfo(); subNode.Name = formItem.fom_iRecordID.ToString(); subNode.Tag = formItem.fom_cExePath.ToString(); subNode.Index = formItem.fom_iIndex; subNode.ImageIndex = formItem.fom_iImageIndex; subNode.Text = formItem.fom_cFormDesc; tNodes[i] = subNode; AddChild(infos, subNode); i++; } }
/// <summary> /// 插入一个树节点 /// </summary> /// <param name="pTNode">父节点</param> /// <param name="strText">节点文字</param> /// <param name="tag">节点标示符</param> /// <param name="name">节点名称</param> /// <param name="index">节点索引号</param> /// <returns>TreeNode</returns> public TreeNodeInfo InsertTreeNode(TreeNodeInfo pTNode, string text, string tag, string name, int index,int imageIndex) { if (pTNode == null) { return null; } TreeNodeInfo[] tNodes = null; TreeNodeInfo tNode = new TreeNodeInfo(); tNode.Text = text; tNode.Tag = tag; tNode.Name = name; tNode.Index = index; tNode.ImageIndex = imageIndex; tNodes = pTNode.TreeNodeInfos; List<TreeNodeInfo> tNodeList=null; if (tNodes != null) { tNodeList = tNodes.ToList<TreeNodeInfo>(); } else { tNodeList = new List<TreeNodeInfo>(); } tNodeList.Add(tNode); pTNode.TreeNodeInfos = tNodeList.ToArray(); return tNode; }
public MenuForm(MainFrame mainFrame, TreeNodeInfo[] menus) { InitializeComponent(); openMenuItemDelegate = new OpenMenuItemWithIcoDelegate(mainFrame.OpenMenuItemWithIco); resources = new System.ComponentModel.ComponentResourceManager(typeof(ImageButton)); this._menus = menus; }
public TreeNodeInfo[] GetMenuTreeNodes(CustEnum.System system) { List<Sys_FormMaster_fom_Info> infos = new List<Sys_FormMaster_fom_Info>(); List<TreeNodeInfo> treeNodeInfoList = new List<TreeNodeInfo>(); TreeNodeInfo rootNodeInfo = null; TreeNodeInfo[] treeNodeInfos = null; TreeNodeInfo itemNodeInfo = null; infos = _sysFormMasterDA.GetWinTreeNode(system.ToString()); foreach (Sys_FormMaster_fom_Info inf in infos) { Sys_FormMaster_fom_Info info = inf; rootNodeInfo = new TreeNodeInfo(); rootNodeInfo.Text = info.fom_cFormDesc; rootNodeInfo.Name = info.fom_cFormNumber; rootNodeInfo.Tag = info.fom_cExePath; rootNodeInfo.Index = info.fom_iIndex; rootNodeInfo.FileName = info.fom_iRecordID.ToString(); TreeNodeInfo nodeInfo = null; info = new Sys_FormMaster_fom_Info(); info.fom_iParentID = int.Parse(rootNodeInfo.FileName.ToString()); foreach (var chile in _sysFormMasterDA.SearchRecords(info, "all")) { info = chile as Sys_FormMaster_fom_Info; string Name = info.fom_iRecordID.ToString(); nodeInfo = null; nodeInfo = LocalGeneralMenu.Instance.InsertTreeNode(rootNodeInfo, info.fom_cFormDesc, info.fom_cExePath, info.fom_cFormNumber, info.fom_iIndex, info.fom_iImageIndex); info = new Sys_FormMaster_fom_Info(); info.fom_iParentID = int.Parse(Name.ToString()); foreach (var q in _sysFormMasterDA.SearchRecords(info, "all")) { info = q as Sys_FormMaster_fom_Info; if (info.fom_cFormNumber.ToString().ToUpper() == "DEMO") { itemNodeInfo = LocalGeneralMenu.Instance.InsertTreeNode(nodeInfo, info.fom_cFormDesc, info.fom_cExePath, info.fom_cFormNumber, info.fom_iIndex, info.fom_iImageIndex); itemNodeInfo.Remark = "EXE"; itemNodeInfo.FileName = "WPFUI\\WPFUI.exe"; } else LocalGeneralMenu.Instance.InsertTreeNode(nodeInfo, info.fom_cFormDesc, info.fom_cExePath, info.fom_cFormNumber, info.fom_iIndex, info.fom_iImageIndex); } } treeNodeInfoList.Add(rootNodeInfo); } treeNodeInfos = treeNodeInfoList.ToArray(); return treeNodeInfos; }
public static TreeNodeInfo[] CreateMenuTree(List<Sys_FormMaster_fom_Info> infos, int rootID) { List<Sys_FormMaster_fom_Info> rootMenus = infos.Where(d => d.fom_iParentID == rootID).ToList(); TreeNodeInfo[] root = new TreeNodeInfo[rootMenus.Count]; int i = 0; foreach (var item in rootMenus) { TreeNodeInfo rootNode = new TreeNodeInfo(); rootNode.Name = item.fom_iRecordID.ToString(); rootNode.Tag = item.fom_cFormNumber; rootNode.Index = item.fom_iIndex; rootNode.ImageIndex = item.fom_iImageIndex; rootNode.Text = item.fom_cFormDesc; AddChild(infos, rootNode); root[i] = rootNode; i++; } return root; }
public MenuToolForm(DockPanel dockPanel, TreeNodeInfo parentNode, Sys_UserMaster_usm_Info userInfo) { InitializeComponent(); this._loginFormBL = MasterBLLFactory.GetBLL<ILoginFormBL>(MasterBLLFactory.LoginForm); this._childrenForms = new Dictionary<string, BaseForm>(); this._dockPanel = dockPanel; this._parentNode = parentNode; // this._userInfo = userInfo; // UserInformation = userInfo; InitializeOutlookbar(userInfo); this.Text = parentNode.Text; this.TabText = parentNode.Text; //TONO: 便貼停靠位置 this.Show(this._dockPanel, DockState.DockBottom); this.DockState = DockState.DockBottomAutoHide; }
/// <summary> /// 獲得樹節點數組 /// </summary> /// <param name="treeNodeInfos"></param> /// <returns></returns> public static TreeNode[] GetTreeNodeList(TreeNodeInfo[] treeNodeInfos) { if (treeNodeInfos == null) { return null; } if (treeNodeInfos.Length == 0) { return null; } List<TreeNode> rootNodeList = new List<TreeNode>(); TreeNode rootNode=null; TreeNode[] tNodes=null; TreeNodeInfo[] nodeInfos = null; for (int i = 0; i < treeNodeInfos.Length; i++) { rootNode = new TreeNode(); rootNode.Text = treeNodeInfos[i].Text; rootNode.Tag = treeNodeInfos[i].Tag; rootNode.Name = treeNodeInfos[i].Name; //rootNode.Index = treeNodeInfos[i].Index; nodeInfos = treeNodeInfos[i].TreeNodeInfos; if (nodeInfos != null) { tNodes = GetTreeNodeList(nodeInfos); if (tNodes != null) { rootNode.Nodes.AddRange(tNodes); } } rootNodeList.Add(rootNode); } return rootNodeList.ToArray(); }
private void ShowMenuForm(TreeNodeInfo[] treeNodeInfos) { if (treeNodeInfos == null || treeNodeInfos.Length == 0) { return; } if (_menuFrm == null) { _menuFrm = new MenuForm(this, treeNodeInfos); _menuFrm.TopLevel = false; _menuFrm.Parent = this._mainFrameBase.ContentPanel; _menuFrm.FormBorderStyle = FormBorderStyle.None; _menuFrm.SystemVersion = this._ControlCenter.SystemVersion; _menuFrm.Show(); _menuFrm.BringToFront(); //_menuFrm.CloseLoading(); this._mForms.Add(_menuFrm); } else { _menuFrm.Show(); _menuFrm.BringToFront(); } this._mainFrameBase.TitleLabel.Text = _menuFrm.Text; }
public TreeNodeInfo[] GetMenuTreeNodes(Sys_UserMaster_usm_Info _usmInfo) { Sys_FormMaster_fom_Info info = new Sys_FormMaster_fom_Info(); List<TreeNodeInfo> treeNodeInfoList = new List<TreeNodeInfo>(); TreeNodeInfo rootNodeInfo = null; TreeNodeInfo[] treeNodeInfos = null; TreeNodeInfo itemNodeInfo = null; info = _sysFormMasterDA.GetRecord_First(); rootNodeInfo = new TreeNodeInfo(); rootNodeInfo.Text = info.fom_cFormDesc; rootNodeInfo.Name = info.fom_cFormNumber; rootNodeInfo.Tag = info.fom_cExePath; rootNodeInfo.Index = info.fom_iIndex; rootNodeInfo.FileName = info.fom_iRecordID.ToString(); TreeNodeInfo nodeInfo = null; info = new Sys_FormMaster_fom_Info(); info.fom_iParentID = int.Parse(rootNodeInfo.FileName.ToString()); //foreach (var chile in _sysFormMasterDA.SearchRecords(info)) //{ // info = chile as Sys_FormMaster_fom_Info; // string Name = info.fom_iRecordID.ToString(); // nodeInfo = null; // nodeInfo = LocalGeneralMenu.Instance.InsertTreeNode(rootNodeInfo, info.fom_cFormDesc, info.fom_cExePath, info.fom_cFormNumber, info.fom_iIndex, 2); // info = new Sys_FormMaster_fom_Info(); // info.fom_iParentID = int.Parse(Name.ToString()); // foreach (var q in _sysFormMasterDA.SearchRecords(info, _usmInfo)) // { // info = q as Sys_FormMaster_fom_Info; // LocalGeneralMenu.Instance.InsertTreeNode(nodeInfo, info.fom_cFormDesc, info.fom_cExePath, info.fom_cFormNumber, info.fom_iIndex, 2); // } //} /**/ foreach (var chile in _sysFormMasterDA.SearchRecords(info)) { Sys_FormMaster_fom_Info fom = new Sys_FormMaster_fom_Info(); info = chile as Sys_FormMaster_fom_Info; fom.fom_iParentID = info.fom_iRecordID; if (_sysFormMasterDA.SearchRecords(fom, _usmInfo).Count > 0) { string Name = info.fom_iRecordID.ToString(); nodeInfo = null; nodeInfo = LocalGeneralMenu.Instance.InsertTreeNode(rootNodeInfo, info.fom_cFormDesc, info.fom_cExePath, info.fom_cFormNumber, info.fom_iIndex, 0);//, info.fom_iImageIndex); foreach (var q in _sysFormMasterDA.SearchRecords(fom, _usmInfo)) { info = q as Sys_FormMaster_fom_Info; if (info.fom_cFormNumber.ToString().ToUpper() == "DEMO") { itemNodeInfo = LocalGeneralMenu.Instance.InsertTreeNode(nodeInfo, info.fom_cFormDesc, info.fom_cExePath, info.fom_cFormNumber, info.fom_iIndex, 0);//, info.fom_iImageIndex); itemNodeInfo.Remark = "EXE"; itemNodeInfo.FileName = "WPFUI\\WPFUI.exe"; } else LocalGeneralMenu.Instance.InsertTreeNode(nodeInfo, info.fom_cFormDesc, info.fom_cExePath, info.fom_cFormNumber, info.fom_iIndex, 0);//, info.fom_iImageIndex); } } } /**/ treeNodeInfoList.Add(rootNodeInfo); treeNodeInfos = treeNodeInfoList.ToArray(); return treeNodeInfos; }