private void Update_Click(object sender, EventArgs e)
 {
     try
     {
         ToolBoxServiceImpl.toolXML.Load(Form1.ToolxmlPath);
         CassViewGenerator.UpdateCurrentPro();
     }
     catch
     {
         MessageBox.Show("更新失败!");
     }
 }
示例#2
0
        /// <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;
            }
            }
        }