/// <summary> /// 物料树节点鼠标点击事件 /// </summary> private void tvMaterial_MouseDown(object sender, MouseEventArgs e) { p = new Point(e.X, e.Y); TreeNode selectedNode = tvMaterialDesign.GetNodeAt(p); if (selectedNode == null) { return; } tvMaterialDesign.SelectedNode = selectedNode; selectedNode.SelectedImageKey = selectedNode.ImageKey; if (selectedNode.ImageKey == "card") { if (e.Button == System.Windows.Forms.MouseButtons.Left) { //打开卡片 FormCollection collection = Application.OpenForms; bool isOpened = false; foreach (Form form in collection) { if (form.Name.EndsWith(selectedNode.Tag.ToString())) { isOpened = true; ((ProcessCardFrm)form).TabText = selectedNode.Text; ((ProcessCardFrm)form).ModuleObject = selectedNode.Parent.Tag; ((ProcessCardFrm)form).OpenCard(null, selectedNode.Tag.ToString(), false, false); form.Select(); } } if (!isOpened) { ProcessCardFrm frm = new ProcessCardFrm(); frm.TabText = selectedNode.Text; frm.Name = string.Format("ProcessCardFrm-{0}", selectedNode.Tag.ToString()); frm.ModuleObject = selectedNode.Parent.Tag; MainFrm.mainFrm.OpenModule(frm); bool result = frm.OpenCard(null, selectedNode.Tag.ToString(), false, false); if (!result) { MainFrm.mainFrm.CloseModule(frm); } } } tsmnuNewCard.Visible = false; tsmnuAddProcessPlanning.Visible = false; tsmnuMaterialQuota.Visible = false; tsmnuChangeToTypical.Visible = true; tsmnuDeleteCard.Visible = true; } else { if (e.Button == System.Windows.Forms.MouseButtons.Left) { GetMaterial(selectedNode.Tag); } tsmnuNewCard.Visible = true; //selectedNode.Parent != null; tsmnuAddProcessPlanning.Visible = true; // selectedNode.Parent != null; tsmnuMaterialQuota.Visible = true; if (selectedNode.SelectedImageKey == "materialG" || selectedNode.SelectedImageKey == "materialS" || selectedNode.SelectedImageKey == "materialC") { if (selectedNode.Nodes.Count > 0 && selectedNode.Nodes[0].ImageKey == "card") { tsmnuChangeToTypical.Visible = true; } else { tsmnuChangeToTypical.Visible = false; } } else { tsmnuChangeToTypical.Visible = false; } tsmnuDeleteCard.Visible = false; } }
/// <summary> /// 产品树节点鼠标点击事件 /// </summary> private void tvProduct_MouseDown(object sender, MouseEventArgs e) { p = new Point(e.X, e.Y); TreeNode selectedNode = tvMaterialPBom.GetNodeAt(p); if (selectedNode == null) { return; } selectedNode.SelectedImageKey = selectedNode.ImageKey; tvMaterialPBom.SelectedNode = selectedNode; //if(e.Button == System.Windows.Forms.MouseButtons.Left) // GetPbom(selectedNode.Tag); if (selectedNode.ImageKey == "card") { if (e.Button == System.Windows.Forms.MouseButtons.Left) { //打开卡片 FormCollection collection = Application.OpenForms; bool isOpened = false; string pbomId = selectedNode.Parent.Parent.Tag.ToString();//改为自身 if (selectedNode.Parent.Tag.GetType() == typeof(MaterialModule)) { pbomId = ((MaterialModule)selectedNode.Parent.Tag).pbomid; } foreach (Form form in collection) { if (form.Name.EndsWith(selectedNode.Tag.ToString())) { isOpened = true; ((ProcessCardFrm)form).ModuleObject = selectedNode.Parent.Tag; ((ProcessCardFrm)form).PBomID = pbomId; ((ProcessCardFrm)form).TabText = selectedNode.Text; ((ProcessCardFrm)form).OpenCard(null, selectedNode.Tag.ToString(), false, false); form.Select(); } } if (!isOpened) { ProcessCardFrm frm = new ProcessCardFrm(); frm.ModuleObject = selectedNode.Parent.Tag; frm.PBomID = pbomId; frm.TabText = selectedNode.Text; frm.Name = string.Format("ProcessCardFrm-{0}", selectedNode.Tag.ToString()); MainFrm.mainFrm.OpenModule(frm); bool result = frm.OpenCard(null, selectedNode.Tag.ToString(), false, false); if (!result) { MainFrm.mainFrm.CloseModule(frm); } } } tsmnuNewCard.Visible = false; tsmnuAddProcessPlanning.Visible = false; tsmnuMaterialQuota.Visible = false; tsmnuChangeToTypical.Visible = false; tsmnuDeleteCard.Visible = true; } else { if (e.Button == System.Windows.Forms.MouseButtons.Left) { GetMaterial(selectedNode.Tag); } //PBOM时根节点物料挂卡片有问题 tsmnuNewCard.Visible = true; //selectedNode.Parent != null; tsmnuAddProcessPlanning.Visible = true; // selectedNode.Parent != null; tsmnuMaterialQuota.Visible = false; //if (selectedNode.SelectedImageKey == "materialG" || // selectedNode.SelectedImageKey == "materialS" || // selectedNode.SelectedImageKey == "materialC") //{ // if (selectedNode.Nodes.Count > 0 && selectedNode.Nodes[0].ImageKey == "card") // { // tsmnuChangeToTypical.Visible = true; // } // else // { // tsmnuChangeToTypical.Visible = false; // } //} //else tsmnuChangeToTypical.Visible = false; tsmnuDeleteCard.Visible = false; } }