private void Update_Click(object sender, EventArgs e) { try { ToolBoxServiceImpl.toolXML.Load(Form1.ToolxmlPath); CassViewGenerator.UpdateCurrentPro(); } catch { MessageBox.Show("更新失败!"); } }
/// <summary> /// 关闭窗口检验填写信息函数 /// </summary> private void CloseForm() { bool Pass1 = CassViewGenerator.JudgeName(ProjectName.Text, "工程文件名") && judgeProjectName(ProjectName.Text); bool Pass2 = Directory.Exists(CassViewGenerator.programPath + "\\" + ProjectName.Text); if (Pass1 == false) { //this.DialogResult = DialogResult.Cancel; //this.Dispose(); //释放资源 } else if (Pass2 == true) { DialogResult result = new DialogResult(); if (this.Text == "新建工程") { result = CassMessageBox.Question("存在相同的工程,是否删除原有的工程?"); if (result == DialogResult.Yes) { Directory.Delete(CassViewGenerator.programPath + "\\" + ProjectName.Text, true);//删除原有工程 this.Pname = ProjectName.Text; this.Pinfo = ProjectInfo.Text; this.DialogResult = DialogResult.OK; this.Dispose(); //释放资源 } } else if (this.Text == "修改工程") { if (this.Pname == ProjectName.Text) {//工程名相同 为修改信息 this.Pinfo = ProjectInfo.Text; this.DialogResult = DialogResult.OK; } else {//与其他工程冲突 CassMessageBox.Warning("存在相同的工程,修改工程名失败!"); this.DialogResult = DialogResult.Cancel; } this.Dispose(); //释放资源 } } //else if (result == DialogResult.No) //{ } else { this.Pname = ProjectName.Text; this.Pinfo = ProjectInfo.Text; this.DialogResult = DialogResult.OK; this.Dispose(); //释放资源 } }
private void OperateDoing(ref Operation Opt) { switch (Opt.Oname) { case "比例放大": { cassview.Scaling = Convert.ToSingle(Opt.Change[1]); break; } case "比例缩小": { cassview.Scaling = Convert.ToSingle(Opt.Change[1]); break; } case "控件删除": { for (int i = 0; i < cassview.Controls.Count; i++) { if (cassview.Controls[i].Site.Name == ((Control)Opt.Item).Tag.ToString()) { cassview.Controls.RemoveAt(i); break; } } break; } case "控件添加": { CreateControl(ref Opt); cassview.Controls.Add((Control)Opt.Item); cassview.ctrlsInfo.Add((ControlInfo)Opt.Change[2]); cassview.blocksInfo.Add((BlockInfo)Opt.Change[3]); if (Opt.Change.Length > 4) { for (int i = 4; i < Opt.Change.Length; i++) { Opt.Change[i] = AddnewLine((LineInfo)Opt.Change[i]); } } cassview.portReflash(); cassview.DrawBackgroundImage(); break; } case "控件移动": { BlockInfo tempBinfo = (BlockInfo)Opt.Change[1]; for (int i = 0; i < cassview.blocksInfo.Count; i++) { int x = cassview.Controls.Count; if (cassview.blocksInfo[i].BlockNum == ((BlockInfo)Opt.Change[0]).BlockNum) { foreach (Control element in cassview.Controls) { PropertyDescriptor Number = TypeDescriptor.GetProperties(element)["SerialNumber"]; if (Number != null && Number.GetValue(element).ToString() == cassview.blocksInfo[i].BlockNum.ToString()) { element.Location = new Point(tempBinfo.StartPoint.X + 5, tempBinfo.StartPoint.Y + 5); Opt.Item = element; break; } } } } break; } case "控件置前": { ((Control)Opt.Item).BringToFront(); break; } case "控件置后": { ((Control)Opt.Item).SendToBack(); break; } case "直线删除": { cassview.DeleteLine(GetLineinfoNum((LineInfo)Opt.Item), true); break; } case "直线添加": { Opt.Item = AddnewLine((LineInfo)Opt.Item); break; } case "属性修改": { if (Opt.Change[0].ToString() == "模块点名") { foreach (Control element in cassview.Controls) { if (element.Tag.ToString() == ((Control)Opt.Item).Tag.ToString()) { //找到删除后新建的控件 Opt.Item = element; break; } } string Cmname = TypeDescriptor.GetProperties((Control)Opt.Item)["ModuleName"].GetValue((Control)Opt.Item).ToString(); //当前控件模块名 CassView.ModifyPortName(Cmname, Opt.Change[1].ToString(), Opt.Change[2].ToString()); PropertyDescriptor portNameProperty = TypeDescriptor.GetProperties((Control)Opt.Item)["PortName"]; cassview.FindControlInfo((Control)Opt.Item).CodeInfo[2] = Cmname + Opt.Change[2].ToString(); portNameProperty.SetValue((Control)Opt.Item, Cmname + Opt.Change[2].ToString()); for (int i = 0; i < cassview.ctrlsInfo.Count; i++) { if (cassview.ctrlsInfo[i].ControlName == ((Control)Opt.Item).Site.Name && cassview.ctrlsInfo[i].VisibleFunctionProperty != null) { for (int j = 0; j < cassview.ctrlsInfo[i].VisibleFunctionProperty.Count; j++) { if (cassview.ctrlsInfo[i].VisibleFunctionProperty[j].Name == "模块点名") { cassview.ctrlsInfo[i].VisibleFunctionProperty[j].TheValue = Opt.Change[2]; } } break; } } } else { CassViewGenerator.SpecialValueChange(cassview, (Control)Opt.Item, Opt.Change[0].ToString(), Opt.Change[1], Opt.Change[2]); CassViewGenerator.SetCodeInfo(cassview, (Control)Opt.Item, Opt.Change[0].ToString(), Opt.Change[2].ToString()); } break; } } }