private bool AddTree(XmlNode node, TreeNode pnode) { bool hasPermission = false; try { var funcationCatogory = node.Attributes["FuncationCatogory"] == null ? "" : node.Attributes["FuncationCatogory"].Value; NodeTag nodeTag = new NodeTag() { id = node.Attributes["id"].Value, Name = node.Attributes["Name"].Value, Params = node.Attributes["Params"].Value, DockState = node.Attributes["DockState"].Value, Title = node.Attributes["Title"].Value, ModuleKey = node.Attributes["ModuleKey"].Value, FuncationCatogory = funcationCatogory }; if (!string.IsNullOrEmpty(funcationCatogory)) { GeneralSaleProcessTags.Add(nodeTag); } TreeNode Node = new TreeNode(); Node.Text = nodeTag.Title; Node.Name = nodeTag.id; Node.Tag = nodeTag; Node.ImageIndex = 1; if (!string.IsNullOrWhiteSpace(nodeTag.ModuleKey)) { nodeTag.HasPermission = hasPermission = PharmacyAuthorizeExtesions.Authorize(this, nodeTag.ModuleKey); } foreach (XmlNode snode in node.ChildNodes) { if (AddTree(snode, Node)) { hasPermission = true; } } if (hasPermission) { if (pnode == null) { treeView1.Nodes.Add(Node); } else { pnode.Nodes.Add(Node); } } } catch (Exception ex) { } return(hasPermission); }
/// <summary> /// 打开新窗口 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void treeView1_AfterSelect(object sender, TreeViewEventArgs e) { // 设置显示图标的变换 if (null == e.Node.FirstNode) { e.Node.ImageIndex = 1; e.Node.SelectedImageIndex = 0; } NodeTag nodeTag = (NodeTag)e.Node.Tag; if (!string.IsNullOrWhiteSpace(nodeTag.Name)) { Type type = Type.GetType(System.Configuration.ConfigurationManager.AppSettings["AppNameSpace"].ToString() + "." + nodeTag.Name); DockContent form = null; if (!string.IsNullOrWhiteSpace(nodeTag.Params)) { form = (DockContent)Activator.CreateInstance(type, nodeTag.Params.Split(',')); } else { form = (DockContent)Activator.CreateInstance(type); } md = new Mydelegate(ShowForm); switch (nodeTag.DockState) { case "left": md(form, DockState.DockLeft); //_formMain.ShowForm(form, DockState.DockLeft); break; case "right": md(form, DockState.DockRight); //_formMain.ShowForm(form, DockState.DockRight); break; case "top": md(form, DockState.DockTop); //_formMain.ShowForm(form, DockState.DockTop); break; case "bottom": md(form, DockState.DockBottom); //_formMain.ShowForm(form, DockState.DockBottom); break; default: md(form, null); //_formMain.ShowForm(form); break; } } }
/// <summary> /// 打开新窗口 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void treeView1_AfterSelect(object sender, TreeViewEventArgs e) { // 设置显示图标的变换 if (null == e.Node.FirstNode) { e.Node.ImageIndex = 1; e.Node.SelectedImageIndex = 0; } NodeTag nodeTag = (NodeTag)e.Node.Tag; TriggerClick(nodeTag); }
public void TriggerClick(NodeTag nodeTag) { if (!string.IsNullOrWhiteSpace(nodeTag.Name)) { Type type = Type.GetType(System.Configuration.ConfigurationManager.AppSettings["AppNameSpace"].ToString() + "." + nodeTag.Name); DockContent form = null; if (!string.IsNullOrWhiteSpace(nodeTag.Params)) { form = (DockContent)Activator.CreateInstance(type, nodeTag.Params.Split(',')); } else { form = (DockContent)Activator.CreateInstance(type); } md = new Mydelegate(ShowForm); switch (nodeTag.DockState) { case "left": md(form, DockState.DockLeft); //_formMain.ShowForm(form, DockState.DockLeft); break; case "right": md(form, DockState.DockRight); //_formMain.ShowForm(form, DockState.DockRight); break; case "top": md(form, DockState.DockTop); //_formMain.ShowForm(form, DockState.DockTop); break; case "bottom": md(form, DockState.DockBottom); //_formMain.ShowForm(form, DockState.DockBottom); break; default: md(form, null); //_formMain.ShowForm(form); break; } } }