using PaintDotNet.Annotation; using PaintDotNet.Annotation.Enum; using PaintDotNet.Annotation.Label; using PaintDotNet.Base.CommTool; using PaintDotNet.Base.SettingModel; using PaintDotNet.Setting.LabelComponent; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.IO; using System.Linq; using System.Reflection; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace PaintDotNet.ImageLabel { /// /// 标注列表 修改样式 /// internal class LabelStyleChangeDialog : PdnBaseForm { private GroupBox groupBox1; private GroupBox groupBox2; private LabelTextControl textControl; private LabelMarkDateControl dateMarkControl; private LabelMarkTimeControl timeMarkControl; private LabelMarkPointControl pointMarkControl; private LabelMarkNumberControl numberMarkControl; private LabelMarkGainNumberControl gainNumberControl; private LabelStraightLineControl straightLineControl; private LabelStraightLineSegmentControl segmentLineControl; private LabelCurvePencilControl pencilControl; private LabelCurvePolylineControl polylineControl; private LabelCurveControl curveControl; private LabelCurveClosedControl closedCurveControl; private LabelArrowOneWayControl oneWayArrowControl; private LabelArrowTwoWayControl twoWayArrowControl; private LabelCircleControl circleControl; private LabelCircleOvalControl ovalControl; private LabelPolygonRectangleControl polygonRectangleControl; private LabelPolygonControl polygonControl; private LabelPolygonRoundedControl roundedRectangleControl; private DrawObject drawObject; private ParentStyleModel parentStyleModel; private Button button2; private Button button1; private Button button3; private AppWorkspace appWorkspace; public LabelStyleChangeDialog(AppWorkspace appWorkspace, DrawObject drawObject) { this.drawObject = drawObject; this.parentStyleModel = DrawRulerHelper.DeepCopyByReflect(this.drawObject.GetStyle()); this.appWorkspace = appWorkspace; InitializeComponent(); InitializeLanguageText(); InitStyleControl(this.drawObject.drawToolType); } private void InitStyleControl(DrawToolType drawToolType) { this.groupBox2.Controls.Clear(); switch (drawToolType) { case DrawToolType.DrawTextString: //文本 textControl = new LabelTextControl((LabelStyleModel.Text)this.parentStyleModel); textControl.Location = new Point(10, 15); this.groupBox2.Controls.Add(textControl); break; case DrawToolType.DrawDateMark: //标记-日期 dateMarkControl = new LabelMarkDateControl((LabelStyleModel.DateMark)this.parentStyleModel); dateMarkControl.Location = new Point(10, 15); this.groupBox2.Controls.Add(dateMarkControl); break; case DrawToolType.DrawTimeMark: //标记-时间 timeMarkControl = new LabelMarkTimeControl((LabelStyleModel.TimeMark)this.parentStyleModel); timeMarkControl.Location = new Point(10, 15); this.groupBox2.Controls.Add(timeMarkControl); break; case DrawToolType.DrawPointMark: //标记-点标记 pointMarkControl = new LabelMarkPointControl((LabelStyleModel.PointMark)this.parentStyleModel); pointMarkControl.Location = new Point(10, 15); this.groupBox2.Controls.Add(pointMarkControl); break; case DrawToolType.DrawNumberMark: //标记-数字标记 numberMarkControl = new LabelMarkNumberControl((LabelStyleModel.NumberMark)this.parentStyleModel); numberMarkControl.Location = new Point(10, 15); this.groupBox2.Controls.Add(numberMarkControl); break; case DrawToolType.DrawGainNumber: //标记-放大倍数 gainNumberControl = new LabelMarkGainNumberControl((LabelStyleModel.GainNumber)this.parentStyleModel); gainNumberControl.Location = new Point(10, 15); this.groupBox2.Controls.Add(gainNumberControl); break; case DrawToolType.DrawLine: //直线->直线 straightLineControl = new LabelStraightLineControl((LabelStyleModel.LineChildLine)this.parentStyleModel); straightLineControl.Location = new Point(10, 15); this.groupBox2.Controls.Add(straightLineControl); break; case DrawToolType.DrawLineSegment: //直线->线段 segmentLineControl = new LabelStraightLineSegmentControl((LabelStyleModel.LineChildLineSegment)this.parentStyleModel); segmentLineControl.Location = new Point(10, 15); this.groupBox2.Controls.Add(segmentLineControl); break; case DrawToolType.DrawPencil: //曲线->铅笔 pencilControl = new LabelCurvePencilControl((LabelStyleModel.Pencil)this.parentStyleModel); pencilControl.Location = new Point(10, 15); this.groupBox2.Controls.Add(pencilControl); break; case DrawToolType.DrawPolygonLine: //曲线->折线 polylineControl = new LabelCurvePolylineControl((LabelStyleModel.Polyline)this.parentStyleModel); polylineControl.Location = new Point(10, 15); this.groupBox2.Controls.Add(polylineControl); break; case DrawToolType.DrawCurve: //曲线->曲线 curveControl = new LabelCurveControl((LabelStyleModel.CurveModel)this.parentStyleModel); curveControl.Location = new Point(10, 15); this.groupBox2.Controls.Add(curveControl); break; case DrawToolType.DrawClosedCurve: //曲线->闭合曲线 closedCurveControl = new LabelCurveClosedControl((LabelStyleModel.ClosedCurve)this.parentStyleModel); closedCurveControl.Location = new Point(10, 15); this.groupBox2.Controls.Add(closedCurveControl); break; case DrawToolType.DrawOneArrowLine: //箭头->单向箭头 oneWayArrowControl = new LabelArrowOneWayControl((LabelStyleModel.OneWayArrow)this.parentStyleModel); oneWayArrowControl.Location = new Point(10, 15); this.groupBox2.Controls.Add(oneWayArrowControl); break; case DrawToolType.DrawTwoArrowLine: //箭头->双向箭头 twoWayArrowControl = new LabelArrowTwoWayControl((LabelStyleModel.TwoWayArrow)this.parentStyleModel); twoWayArrowControl.Location = new Point(10, 15); this.groupBox2.Controls.Add(twoWayArrowControl); break; case DrawToolType.DrawCircle: //圆->圆 circleControl = new LabelCircleControl((LabelStyleModel.CircleModel)this.parentStyleModel); circleControl.Location = new Point(10, 15); this.groupBox2.Controls.Add(circleControl); break; case DrawToolType.DrawEllipse: //圆->椭圆 ovalControl = new LabelCircleOvalControl((LabelStyleModel.Oval)this.parentStyleModel); ovalControl.Location = new Point(10, 15); this.groupBox2.Controls.Add(ovalControl); break; case DrawToolType.DrawRectangle: //多边形->矩形 polygonRectangleControl = new LabelPolygonRectangleControl((LabelStyleModel.PolygonRectangle)this.parentStyleModel); polygonRectangleControl.Location = new Point(10, 15); this.groupBox2.Controls.Add(polygonRectangleControl); break; case DrawToolType.DrawPolygon: //多边形->多边形 polygonControl = new LabelPolygonControl((LabelStyleModel.PolygonPolygon)this.parentStyleModel); polygonControl.Location = new Point(10, 15); this.groupBox2.Controls.Add(polygonControl); break; case DrawToolType.DrawRoundRectangle: //多边形->圆角矩形 roundedRectangleControl = new LabelPolygonRoundedControl((LabelStyleModel.RoundedRectangle)this.parentStyleModel); roundedRectangleControl.Location = new Point(10, 15); this.groupBox2.Controls.Add(roundedRectangleControl); break; } } private void InitializeLanguageText() { this.groupBox1.Text = PdnResources.GetString("Menu.operation.text"); this.button2.Text = PdnResources.GetString("Menu.File.Close.Text"); this.button1.Text = PdnResources.GetString("Menu.application.text"); this.groupBox2.Text = PdnResources.GetString("Menu.style.text"); this.button3.Text = PdnResources.GetString("Menu.File.Save.Text"); this.Text = PdnResources.GetString("Menu.Stylechanges.Text"); } private void InitializeComponent() { this.groupBox1 = new System.Windows.Forms.GroupBox(); this.button3 = new System.Windows.Forms.Button(); this.button2 = new System.Windows.Forms.Button(); this.button1 = new System.Windows.Forms.Button(); this.groupBox2 = new System.Windows.Forms.GroupBox(); this.groupBox1.SuspendLayout(); this.SuspendLayout(); // // groupBox1 // this.groupBox1.Controls.Add(this.button3); this.groupBox1.Controls.Add(this.button2); this.groupBox1.Controls.Add(this.button1); this.groupBox1.Location = new System.Drawing.Point(13, 13); this.groupBox1.Name = "groupBox1"; this.groupBox1.Size = new System.Drawing.Size(502, 52); this.groupBox1.TabIndex = 1; this.groupBox1.TabStop = false; this.groupBox1.Text = "操作"; // // button3 // this.button3.Location = new System.Drawing.Point(259, 20); this.button3.Name = "button3"; this.button3.Size = new System.Drawing.Size(75, 23); this.button3.TabIndex = 2; this.button3.Text = "保存"; this.button3.UseVisualStyleBackColor = true; this.button3.Click += new System.EventHandler(this.button3_Click); // // button2 // this.button2.Location = new System.Drawing.Point(421, 20); this.button2.Name = "button2"; this.button2.Size = new System.Drawing.Size(75, 23); this.button2.TabIndex = 1; this.button2.Text = "关闭"; this.button2.UseVisualStyleBackColor = true; this.button2.Click += new System.EventHandler(this.button2_Click); // // button1 // this.button1.Location = new System.Drawing.Point(340, 20); this.button1.Name = "button1"; this.button1.Size = new System.Drawing.Size(75, 23); this.button1.TabIndex = 0; this.button1.Text = "应用"; this.button1.UseVisualStyleBackColor = true; this.button1.Click += new System.EventHandler(this.button1_Click); // // groupBox2 // this.groupBox2.Location = new System.Drawing.Point(13, 72); this.groupBox2.Name = "groupBox2"; this.groupBox2.Size = new System.Drawing.Size(502, 186); this.groupBox2.TabIndex = 2; this.groupBox2.TabStop = false; this.groupBox2.Text = "样式"; // // LabelStyleChangeDialog // this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F); this.ClientSize = new System.Drawing.Size(530, 270); this.Controls.Add(this.groupBox2); this.Controls.Add(this.groupBox1); this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle; this.MaximizeBox = false; this.MinimizeBox = false; this.Name = "LabelStyleChangeDialog"; this.Text = "样式修改"; this.Controls.SetChildIndex(this.groupBox1, 0); this.Controls.SetChildIndex(this.groupBox2, 0); this.groupBox1.ResumeLayout(false); this.ResumeLayout(false); } private void button1_Click(object sender, EventArgs e) { switch (this.drawObject.drawToolType) { case DrawToolType.DrawTextString: //文本 DrawTextString drawTextString = (DrawTextString)this.drawObject; drawTextString.labelTextModel = textControl.getNowModel((LabelStyleModel.Text)this.parentStyleModel); drawTextString.isFirstClick = true; break; case DrawToolType.DrawDateMark: //标记-日期 DrawDateMark drawDateMark = (DrawDateMark)this.drawObject; drawDateMark.labelDateMarkStyleModel = dateMarkControl.getNowModel((LabelStyleModel.DateMark)this.parentStyleModel); drawDateMark.isFirstClick = true; break; case DrawToolType.DrawTimeMark: //标记-时间 DrawTimeMark drawTimeMark = (DrawTimeMark)this.drawObject; drawTimeMark.labelTimeMarkStyleModel = timeMarkControl.getNowModel((LabelStyleModel.TimeMark)this.parentStyleModel); drawTimeMark.isFirstClick = true; break; case DrawToolType.DrawPointMark: //标记-点标记 DrawPointMark drawPointMark = (DrawPointMark)this.drawObject; drawPointMark.labelPointMarkStyleModel = pointMarkControl.getNowModel((LabelStyleModel.PointMark)this.parentStyleModel); break; case DrawToolType.DrawNumberMark: //标记-数字标记 DrawNumberMark drawNumberMark = (DrawNumberMark)this.drawObject; drawNumberMark.labelNumberMarkStyleModel = numberMarkControl.getNowModel((LabelStyleModel.NumberMark)this.parentStyleModel); break; case DrawToolType.DrawGainNumber: //标记-放大倍数 DrawGainNumber drawGainNumber = (DrawGainNumber)this.drawObject; drawGainNumber.labelGainNumberStyleModel = gainNumberControl.getNowModel((LabelStyleModel.GainNumber)this.parentStyleModel); drawGainNumber.isFirstClick = true; break; case DrawToolType.DrawLine: //直线->直线 DrawLine drawLine = (DrawLine)this.drawObject; drawLine.labelLineStyleModel = straightLineControl.getNowModel((LabelStyleModel.LineChildLine)this.parentStyleModel); break; case DrawToolType.DrawLineSegment: //直线->线段 DrawLineSegment drawLineSegment = (DrawLineSegment)this.drawObject; drawLineSegment.LabelLineSegment = segmentLineControl.getNowModel((LabelStyleModel.LineChildLineSegment)this.parentStyleModel); break; case DrawToolType.DrawPencil: //曲线->铅笔 DrawPencil drawPencil = (DrawPencil)this.drawObject; drawPencil.LabelStyleModel = pencilControl.getNowModel((LabelStyleModel.Pencil)this.parentStyleModel); break; case DrawToolType.DrawPolygonLine: //曲线->折线 DrawPolygonLine drawPolygonLine = (DrawPolygonLine)this.drawObject; drawPolygonLine.LabelPolylineStyleModel = polylineControl.getNowModel((LabelStyleModel.Polyline)this.parentStyleModel); break; case DrawToolType.DrawCurve: //曲线->曲线 DrawCurve drawCurve = (DrawCurve)this.drawObject; drawCurve.LabelCurveModelStyleModel = curveControl.getNowModel((LabelStyleModel.CurveModel)this.parentStyleModel); break; case DrawToolType.DrawClosedCurve: //曲线->闭合曲线 DrawClosedCurve drawClosedCurve = (DrawClosedCurve)this.drawObject; drawClosedCurve.labelClosedCurveStyleModel = closedCurveControl.getNowModel((LabelStyleModel.ClosedCurve)this.parentStyleModel); break; case DrawToolType.DrawOneArrowLine: //箭头->单向箭头 DrawOneArrowLine drawOneArrowLine = (DrawOneArrowLine)this.drawObject; drawOneArrowLine.LabelOneArrowStyleModel = oneWayArrowControl.getNowModel((LabelStyleModel.OneWayArrow)this.parentStyleModel); break; case DrawToolType.DrawTwoArrowLine: //箭头->双向箭头 DrawTwoArrowLine drawTwoArrowLine = (DrawTwoArrowLine)this.drawObject; drawTwoArrowLine.LabelTwoArrowStyleModel = twoWayArrowControl.getNowModel((LabelStyleModel.TwoWayArrow)this.parentStyleModel); break; case DrawToolType.DrawCircle: //圆->圆 DrawCircle drawCircle = (DrawCircle)this.drawObject; drawCircle.labelCircleStyleModel = circleControl.getNowModel((LabelStyleModel.CircleModel)this.parentStyleModel); break; case DrawToolType.DrawEllipse: //圆->椭圆 DrawEllipse drawEllipse = (DrawEllipse)this.drawObject; drawEllipse.labelOvalStyleModel = ovalControl.getNowModel((LabelStyleModel.Oval)this.parentStyleModel); break; case DrawToolType.DrawRectangle: //多边形->矩形 DrawRectangle drawRectangle = (DrawRectangle)this.drawObject; drawRectangle.labelRectStyleModel = polygonRectangleControl.getNowModel((LabelStyleModel.PolygonRectangle)this.parentStyleModel); break; case DrawToolType.DrawPolygon: //多边形->多边形 DrawPolygon drawPolygon = (DrawPolygon)this.drawObject; drawPolygon.polygonStyle = polygonControl.getNowModel((LabelStyleModel.PolygonPolygon)this.parentStyleModel); break; case DrawToolType.DrawRoundRectangle: //多边形->圆角矩形 DrawRoundRectangle drawRoundRectangle = (DrawRoundRectangle)this.drawObject; drawRoundRectangle.labelRoundedRectStyleModel = roundedRectangleControl.getNowModel((LabelStyleModel.RoundedRectangle)this.parentStyleModel); break; } this.appWorkspace.ActiveDocumentWorkspace.Refresh(); this.Close(); } /// /// 关闭 /// /// /// private void button2_Click(object sender, EventArgs e) { this.Close(); } /// /// 保存,保存到标注样式配置文件 /// /// /// private void button3_Click(object sender, EventArgs e) { switch (this.drawObject.drawToolType) { case DrawToolType.DrawTextString: //文本 DrawTextString drawTextString = (DrawTextString)this.drawObject; drawTextString.labelTextModel = textControl.getNowModel((LabelStyleModel.Text)this.parentStyleModel); drawTextString.isFirstClick = true; Startup.instance.labelStyleModel.text = textControl.getNowModel((LabelStyleModel.Text)this.parentStyleModel); break; case DrawToolType.DrawDateMark: //标记-日期 DrawDateMark drawDateMark = (DrawDateMark)this.drawObject; drawDateMark.labelDateMarkStyleModel = dateMarkControl.getNowModel((LabelStyleModel.DateMark)this.parentStyleModel); drawDateMark.isFirstClick = true; Startup.instance.labelStyleModel.dateMark = dateMarkControl.getNowModel((LabelStyleModel.DateMark)this.parentStyleModel); break; case DrawToolType.DrawTimeMark: //标记-时间 DrawTimeMark drawTimeMark = (DrawTimeMark)this.drawObject; drawTimeMark.labelTimeMarkStyleModel = timeMarkControl.getNowModel((LabelStyleModel.TimeMark)this.parentStyleModel); drawTimeMark.isFirstClick = true; Startup.instance.labelStyleModel.timeMark = timeMarkControl.getNowModel((LabelStyleModel.TimeMark)this.parentStyleModel); break; case DrawToolType.DrawPointMark: //标记-点标记 DrawPointMark drawPointMark = (DrawPointMark)this.drawObject; drawPointMark.labelPointMarkStyleModel = pointMarkControl.getNowModel((LabelStyleModel.PointMark)this.parentStyleModel); Startup.instance.labelStyleModel.pointMark = pointMarkControl.getNowModel((LabelStyleModel.PointMark)this.parentStyleModel); break; case DrawToolType.DrawNumberMark: //标记-数字标记 DrawNumberMark drawNumberMark = (DrawNumberMark)this.drawObject; drawNumberMark.labelNumberMarkStyleModel = numberMarkControl.getNowModel((LabelStyleModel.NumberMark)this.parentStyleModel); Startup.instance.labelStyleModel.numberMark = numberMarkControl.getNowModel((LabelStyleModel.NumberMark)this.parentStyleModel); break; case DrawToolType.DrawGainNumber: //标记-放大倍数 DrawGainNumber drawGainNumber = (DrawGainNumber)this.drawObject; drawGainNumber.labelGainNumberStyleModel = gainNumberControl.getNowModel((LabelStyleModel.GainNumber)this.parentStyleModel); drawGainNumber.isFirstClick = true; Startup.instance.labelStyleModel.gainNumber = gainNumberControl.getNowModel((LabelStyleModel.GainNumber)this.parentStyleModel); break; case DrawToolType.DrawLine: //直线->直线 DrawLine drawLine = (DrawLine)this.drawObject; drawLine.labelLineStyleModel = straightLineControl.getNowModel((LabelStyleModel.LineChildLine)this.parentStyleModel); Startup.instance.labelStyleModel.lineChildLine = straightLineControl.getNowModel((LabelStyleModel.LineChildLine)this.parentStyleModel); break; case DrawToolType.DrawLineSegment: //直线->线段 DrawLineSegment drawLineSegment = (DrawLineSegment)this.drawObject; drawLineSegment.LabelLineSegment = segmentLineControl.getNowModel((LabelStyleModel.LineChildLineSegment)this.parentStyleModel); Startup.instance.labelStyleModel.lineChildLineSegment = segmentLineControl.getNowModel((LabelStyleModel.LineChildLineSegment)this.parentStyleModel); break; case DrawToolType.DrawPencil: //曲线->铅笔 DrawPencil drawPencil = (DrawPencil)this.drawObject; drawPencil.LabelStyleModel = pencilControl.getNowModel((LabelStyleModel.Pencil)this.parentStyleModel); Startup.instance.labelStyleModel.pencilModel = pencilControl.getNowModel((LabelStyleModel.Pencil)this.parentStyleModel); break; case DrawToolType.DrawPolygonLine: //曲线->折线 DrawPolygonLine drawPolygonLine = (DrawPolygonLine)this.drawObject; drawPolygonLine.LabelPolylineStyleModel = polylineControl.getNowModel((LabelStyleModel.Polyline)this.parentStyleModel); break; case DrawToolType.DrawCurve: //曲线->曲线 DrawCurve drawCurve = (DrawCurve)this.drawObject; drawCurve.LabelCurveModelStyleModel = curveControl.getNowModel((LabelStyleModel.CurveModel)this.parentStyleModel); Startup.instance.labelStyleModel.curveModel = curveControl.getNowModel((LabelStyleModel.CurveModel)this.parentStyleModel); break; case DrawToolType.DrawClosedCurve: //曲线->闭合曲线 DrawClosedCurve drawClosedCurve = (DrawClosedCurve)this.drawObject; drawClosedCurve.labelClosedCurveStyleModel = closedCurveControl.getNowModel((LabelStyleModel.ClosedCurve)this.parentStyleModel); Startup.instance.labelStyleModel.closedCurveModel = closedCurveControl.getNowModel((LabelStyleModel.ClosedCurve)this.parentStyleModel); break; case DrawToolType.DrawOneArrowLine: //箭头->单向箭头 DrawOneArrowLine drawOneArrowLine = (DrawOneArrowLine)this.drawObject; drawOneArrowLine.LabelOneArrowStyleModel = oneWayArrowControl.getNowModel((LabelStyleModel.OneWayArrow)this.parentStyleModel); Startup.instance.labelStyleModel.oneWayArrowModel = oneWayArrowControl.getNowModel((LabelStyleModel.OneWayArrow)this.parentStyleModel); break; case DrawToolType.DrawTwoArrowLine: //箭头->双向箭头 DrawTwoArrowLine drawTwoArrowLine = (DrawTwoArrowLine)this.drawObject; drawTwoArrowLine.LabelTwoArrowStyleModel = twoWayArrowControl.getNowModel((LabelStyleModel.TwoWayArrow)this.parentStyleModel); Startup.instance.labelStyleModel.twoWayArrowModel = twoWayArrowControl.getNowModel((LabelStyleModel.TwoWayArrow)this.parentStyleModel); break; case DrawToolType.DrawCircle: //圆->圆 DrawCircle drawCircle = (DrawCircle)this.drawObject; drawCircle.labelCircleStyleModel = circleControl.getNowModel((LabelStyleModel.CircleModel)this.parentStyleModel); Startup.instance.labelStyleModel.circleModel = circleControl.getNowModel((LabelStyleModel.CircleModel)this.parentStyleModel); break; case DrawToolType.DrawEllipse: //圆->椭圆 DrawEllipse drawEllipse = (DrawEllipse)this.drawObject; drawEllipse.labelOvalStyleModel = ovalControl.getNowModel((LabelStyleModel.Oval)this.parentStyleModel); Startup.instance.labelStyleModel.ovalModel = ovalControl.getNowModel((LabelStyleModel.Oval)this.parentStyleModel); break; case DrawToolType.DrawRectangle: //多边形->矩形 DrawRectangle drawRectangle = (DrawRectangle)this.drawObject; drawRectangle.labelRectStyleModel = polygonRectangleControl.getNowModel((LabelStyleModel.PolygonRectangle)this.parentStyleModel); Startup.instance.labelStyleModel.polygonRectangle = polygonRectangleControl.getNowModel((LabelStyleModel.PolygonRectangle)this.parentStyleModel); break; case DrawToolType.DrawPolygon: //多边形->多边形 DrawPolygon drawPolygon = (DrawPolygon)this.drawObject; drawPolygon.polygonStyle = polygonControl.getNowModel((LabelStyleModel.PolygonPolygon)this.parentStyleModel); Startup.instance.labelStyleModel.polygonPolygon = polygonControl.getNowModel((LabelStyleModel.PolygonPolygon)this.parentStyleModel); break; case DrawToolType.DrawRoundRectangle: //多边形->圆角矩形 DrawRoundRectangle drawRoundRectangle = (DrawRoundRectangle)this.drawObject; drawRoundRectangle.labelRoundedRectStyleModel = roundedRectangleControl.getNowModel((LabelStyleModel.RoundedRectangle)this.parentStyleModel); Startup.instance.labelStyleModel.roundedRectangle = roundedRectangleControl.getNowModel((LabelStyleModel.RoundedRectangle)this.parentStyleModel); break; } //以下保存xml文件信息 string stageModelXml = XmlSerializeHelper.XmlSerialize(Startup.instance.labelStyleModel); string filePath = Application.StartupPath + "\\Config\\" + Startup.instance.SettingPrefix + "\\Label\\" + Startup.instance.configModel.LabelStyle; FileOperationHelper.WriteStringToFile(stageModelXml, filePath, FileMode.Create); this.appWorkspace.ActiveDocumentWorkspace.Refresh(); this.Close(); } } }