| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776 | using Resources;using SmartCoalApplication.Annotation;using SmartCoalApplication.Annotation.Enum;using SmartCoalApplication.Annotation.Measure;using SmartCoalApplication.Base.CommTool;using SmartCoalApplication.Base.SettingModel;using SmartCoalApplication.Core;using SmartCoalApplication.PluginAssemblys;using SmartCoalApplication.Resources;using System;using System.Collections;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.IO;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;namespace SmartCoalApplication.Measure{    internal class MeasurementPropertiesDialog : Form    {        #region 控件        private GroupBox groupBox2;        private Panel panel3;        private ComboBox comboBox4;        private Label label4;        private ComboBox comboBox3;        private Label label3;        private Panel panel2;        private ComboBox comboBox2;        private Label label2;        private NumericUpDown numericUpDown11;        private ComboBox comboBox21;        private NumericUpDown numericUpDown21;        private Label label61;        private Label label51;        private Panel linePanel;        private Label label41;        private Panel textPanel;        private Label label31;        private Label label21;        private ComboBox comboBox11;        private Label label11;        private GroupBox groupBox1;        //private Button button2;        private Button button3;        private Button button1;        ColorsForm colorsForm;        ColorsForm colorsForm1;        private DocumentWorkspaceWindow documentWorkspaceWindow;        #endregion        /// <summary>        /// 主控件        /// </summary>        private AppWorkspace appWorkspace;        private DrawObject drawObject;        /// <summary>        /// 测量的样式        /// </summary>        private MeasureStyleModel measureStyleModel = Program.instance.measureStyleModel;        /// <summary>        /// 主配置文件的model        /// </summary>        private ConfigModel configModel = Program.instance.configModel;        private NumericUpDown numericUpDown1;        private Label label5;        private ComboBox comboBox5;        private Label label6;        private ComboBox comboBox91;        private System.Windows.Forms.Label label91;        /// <summary>        /// 字体列表        /// </summary>        ArrayList fontsItems = new ArrayList();        public MeasurementPropertiesDialog(AppWorkspace appWorkspace, DrawObject drawObject,DocumentWorkspaceWindow documentWorkspaceWindow = null)        {            this.appWorkspace = appWorkspace;            this.drawObject = drawObject;            InitializeComponent();            this.documentWorkspaceWindow = documentWorkspaceWindow;            this.Icon = PdnInfo.AppIcon;            this.comboBox3.Items.AddRange(new object[] {                PdnResources.GetString("Menu.Upperleft.text"),                PdnResources.GetString("Menu.Uppermiddle.Text"),                PdnResources.GetString("Menu.Upperright.text"),                PdnResources.GetString("Menu.Lowerleft.text"),                PdnResources.GetString("Menu.Themiddleandlower.Text"),                PdnResources.GetString("Menu.Lowerright.text")});            this.comboBox91.Items.AddRange(new object[] {                "度",                "密位"});            this.comboBox4.Items.AddRange(new object[] {                PdnResources.GetString("Menu.Upperleft.text"),                PdnResources.GetString("Menu.Uppermiddle.Text"),                PdnResources.GetString("Menu.Upperright.text"),                PdnResources.GetString("Menu.Lowerleft.text"),                PdnResources.GetString("Menu.Themiddleandlower.Text"),                PdnResources.GetString("Menu.Lowerright.text")});            this.Text = PdnResources.GetString("Menu.MeasureAction." + drawObject.drawToolType.ToString() + ".Text") + "属性设置";            //绑定线样式数据            this.comboBox21.Items.AddRange(InvariantData.dashStyles);            this.colorsForm = new ColorsForm();            this.colorsForm.StartPosition = FormStartPosition.CenterScreen;            this.colorsForm.UserPrimaryColorChanged += new ColorEventHandler(this.colorsFormUserPrimaryColorChanged);            this.colorsForm1 = new ColorsForm();            this.colorsForm1.StartPosition = FormStartPosition.CenterScreen;            this.colorsForm1.UserPrimaryColorChanged += new ColorEventHandler(this.colorsFormUserPrimaryColorChanged);            this.fontsItems.Clear();            //绑定字体数据            System.Drawing.Text.InstalledFontCollection fonts = new System.Drawing.Text.InstalledFontCollection();            foreach (FontFamily fontFamily in fonts.Families)            {                fontsItems.Add(fontFamily.Name);            }            this.comboBox11.DataSource = fontsItems;            UpdateRightSettingUI();        }        #region 初始化        private void InitializeComponent()        {            this.comboBox91 = new System.Windows.Forms.ComboBox();            this.label91 = new System.Windows.Forms.Label();            this.groupBox2 = new System.Windows.Forms.GroupBox();            this.comboBox5 = new System.Windows.Forms.ComboBox();            this.label6 = new System.Windows.Forms.Label();            this.numericUpDown1 = new System.Windows.Forms.NumericUpDown();            this.label5 = new System.Windows.Forms.Label();            this.panel3 = new System.Windows.Forms.Panel();            this.comboBox4 = new System.Windows.Forms.ComboBox();            this.label4 = new System.Windows.Forms.Label();            this.comboBox3 = new System.Windows.Forms.ComboBox();            this.label3 = new System.Windows.Forms.Label();            this.panel2 = new System.Windows.Forms.Panel();            this.comboBox2 = new System.Windows.Forms.ComboBox();            this.label2 = new System.Windows.Forms.Label();            this.numericUpDown11 = new System.Windows.Forms.NumericUpDown();            this.comboBox21 = new System.Windows.Forms.ComboBox();            this.numericUpDown21 = new System.Windows.Forms.NumericUpDown();            this.label61 = new System.Windows.Forms.Label();            this.label51 = new System.Windows.Forms.Label();            this.linePanel = new System.Windows.Forms.Panel();            this.label41 = new System.Windows.Forms.Label();            this.textPanel = new System.Windows.Forms.Panel();            this.label31 = new System.Windows.Forms.Label();            this.label21 = new System.Windows.Forms.Label();            this.comboBox11 = new System.Windows.Forms.ComboBox();            this.label11 = new System.Windows.Forms.Label();            this.groupBox1 = new System.Windows.Forms.GroupBox();            this.button3 = new System.Windows.Forms.Button();            this.button1 = new System.Windows.Forms.Button();            this.groupBox2.SuspendLayout();            ((System.ComponentModel.ISupportInitialize)(this.numericUpDown1)).BeginInit();            this.panel3.SuspendLayout();            this.panel2.SuspendLayout();            ((System.ComponentModel.ISupportInitialize)(this.numericUpDown11)).BeginInit();            ((System.ComponentModel.ISupportInitialize)(this.numericUpDown21)).BeginInit();            this.groupBox1.SuspendLayout();            this.SuspendLayout();            //             // comboBox91            //             this.comboBox91.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;            this.comboBox91.FormattingEnabled = true;            this.comboBox91.Location = new System.Drawing.Point(91, 179);            this.comboBox91.Name = "comboBox91";            this.comboBox91.Size = new System.Drawing.Size(152, 20);            this.comboBox91.TabIndex = 15;            //             // label91            //             this.label91.AutoSize = true;            this.label91.Location = new System.Drawing.Point(14, 182);            this.label91.Name = "label91";            this.label91.Size = new System.Drawing.Size(65, 12);            this.label91.TabIndex = 14;            this.label91.Text = "角度单位:";            //             // groupBox2            //             this.groupBox2.Controls.Add(this.comboBox5);            this.groupBox2.Controls.Add(this.label6);            this.groupBox2.Controls.Add(this.numericUpDown1);            this.groupBox2.Controls.Add(this.label5);            this.groupBox2.Controls.Add(this.panel3);            this.groupBox2.Controls.Add(this.panel2);            this.groupBox2.Controls.Add(this.numericUpDown11);            this.groupBox2.Controls.Add(this.comboBox21);            this.groupBox2.Controls.Add(this.numericUpDown21);            this.groupBox2.Controls.Add(this.label61);            this.groupBox2.Controls.Add(this.label51);            this.groupBox2.Controls.Add(this.linePanel);            this.groupBox2.Controls.Add(this.label41);            this.groupBox2.Controls.Add(this.textPanel);            this.groupBox2.Controls.Add(this.label31);            this.groupBox2.Controls.Add(this.label21);            this.groupBox2.Controls.Add(this.comboBox11);            this.groupBox2.Controls.Add(this.label11);            this.groupBox2.Controls.Add(this.comboBox91);            this.groupBox2.Controls.Add(this.label91);            this.groupBox2.Location = new System.Drawing.Point(10, 76);            this.groupBox2.Name = "groupBox2";            this.groupBox2.Size = new System.Drawing.Size(633, 235);            this.groupBox2.TabIndex = 8;            this.groupBox2.TabStop = false;            this.groupBox2.Text = "设置";            //             // comboBox5            //             this.comboBox5.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;            this.comboBox5.FormattingEnabled = true;            this.comboBox5.Items.AddRange(new object[] {            "随线",            "水平"});            this.comboBox5.Location = new System.Drawing.Point(337, 46);            this.comboBox5.Name = "comboBox5";            this.comboBox5.Size = new System.Drawing.Size(122, 20);            this.comboBox5.TabIndex = 22;            //             // label6            //             this.label6.AutoSize = true;            this.label6.Location = new System.Drawing.Point(260, 50);            this.label6.Name = "label6";            this.label6.Size = new System.Drawing.Size(65, 12);            this.label6.TabIndex = 21;            this.label6.Text = "文字方向:";            //             // numericUpDown1            //             this.numericUpDown1.Location = new System.Drawing.Point(337, 21);            this.numericUpDown1.Name = "numericUpDown1";            this.numericUpDown1.Size = new System.Drawing.Size(152, 21);            this.numericUpDown1.TabIndex = 20;            //             // label5            //             this.label5.AutoSize = true;            this.label5.Location = new System.Drawing.Point(260, 25);            this.label5.Name = "label5";            this.label5.Size = new System.Drawing.Size(65, 12);            this.label5.TabIndex = 19;            this.label5.Text = "垂线长度:";            //             // panel3            //             this.panel3.Controls.Add(this.comboBox4);            this.panel3.Controls.Add(this.label4);            this.panel3.Controls.Add(this.comboBox3);            this.panel3.Controls.Add(this.label3);            this.panel3.Location = new System.Drawing.Point(9, 175);            this.panel3.Name = "panel3";            this.panel3.Size = new System.Drawing.Size(236, 57);            this.panel3.TabIndex = 16;            //             // comboBox4            //             this.comboBox4.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;            this.comboBox4.FormattingEnabled = true;            this.comboBox4.Location = new System.Drawing.Point(112, 30);            this.comboBox4.Name = "comboBox4";            this.comboBox4.Size = new System.Drawing.Size(122, 20);            this.comboBox4.TabIndex = 17;            //             // label4            //             this.label4.AutoSize = true;            this.label4.Location = new System.Drawing.Point(5, 34);            this.label4.Name = "label4";            this.label4.Size = new System.Drawing.Size(89, 12);            this.label4.TabIndex = 16;            this.label4.Text = "文字位置(点):";            //             // comboBox3            //             this.comboBox3.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;            this.comboBox3.FormattingEnabled = true;            this.comboBox3.Location = new System.Drawing.Point(112, 4);            this.comboBox3.Name = "comboBox3";            this.comboBox3.Size = new System.Drawing.Size(122, 20);            this.comboBox3.TabIndex = 15;            //             // label3            //             this.label3.AutoSize = true;            this.label3.Location = new System.Drawing.Point(5, 7);            this.label3.Name = "label3";            this.label3.Size = new System.Drawing.Size(89, 12);            this.label3.TabIndex = 14;            this.label3.Text = "文字位置(线):";            //             // panel2            //             this.panel2.Controls.Add(this.comboBox2);            this.panel2.Controls.Add(this.label2);            this.panel2.Location = new System.Drawing.Point(9, 175);            this.panel2.Name = "panel2";            this.panel2.Size = new System.Drawing.Size(236, 57);            this.panel2.TabIndex = 15;            //             // comboBox2            //             this.comboBox2.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;            this.comboBox2.FormattingEnabled = true;            this.comboBox2.Location = new System.Drawing.Point(82, 3);            this.comboBox2.Name = "comboBox2";            this.comboBox2.Size = new System.Drawing.Size(152, 20);            this.comboBox2.TabIndex = 15;            //             // label2            //             this.label2.AutoSize = true;            this.label2.Location = new System.Drawing.Point(5, 7);            this.label2.Name = "label2";            this.label2.Size = new System.Drawing.Size(65, 12);            this.label2.TabIndex = 14;            this.label2.Text = "文字位置:";            //             // numericUpDown11            //             this.numericUpDown11.Location = new System.Drawing.Point(91, 125);            this.numericUpDown11.Name = "numericUpDown11";            this.numericUpDown11.Size = new System.Drawing.Size(152, 21);            this.numericUpDown11.TabIndex = 14;            //             // comboBox21            //             this.comboBox21.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;            this.comboBox21.FormattingEnabled = true;            this.comboBox21.Location = new System.Drawing.Point(91, 151);            this.comboBox21.Name = "comboBox21";            this.comboBox21.Size = new System.Drawing.Size(152, 20);            this.comboBox21.TabIndex = 13;            //             // numericUpDown21            //             this.numericUpDown21.Location = new System.Drawing.Point(91, 46);            this.numericUpDown21.Name = "numericUpDown21";            this.numericUpDown21.Size = new System.Drawing.Size(152, 21);            this.numericUpDown21.TabIndex = 12;            //             // label61            //             this.label61.AutoSize = true;            this.label61.Location = new System.Drawing.Point(13, 155);            this.label61.Name = "label61";            this.label61.Size = new System.Drawing.Size(65, 12);            this.label61.TabIndex = 9;            this.label61.Text = "线条样式:";            //             // label51            //             this.label51.AutoSize = true;            this.label51.Location = new System.Drawing.Point(13, 128);            this.label51.Name = "label51";            this.label51.Size = new System.Drawing.Size(65, 12);            this.label51.TabIndex = 8;            this.label51.Text = "线条宽度:";            //             // linePanel            //             this.linePanel.BackColor = System.Drawing.SystemColors.Window;            this.linePanel.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;            this.linePanel.Location = new System.Drawing.Point(91, 99);            this.linePanel.Name = "linePanel";            this.linePanel.Size = new System.Drawing.Size(152, 20);            this.linePanel.TabIndex = 7;            this.linePanel.Click += new System.EventHandler(this.lineColorPanel_Click);            //             // label41            //             this.label41.AutoSize = true;            this.label41.Location = new System.Drawing.Point(13, 99);            this.label41.Name = "label41";            this.label41.Size = new System.Drawing.Size(65, 12);            this.label41.TabIndex = 6;            this.label41.Text = "线条颜色:";            //             // textPanel            //             this.textPanel.BackColor = System.Drawing.SystemColors.Window;            this.textPanel.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;            this.textPanel.Location = new System.Drawing.Point(91, 73);            this.textPanel.Name = "textPanel";            this.textPanel.Size = new System.Drawing.Size(152, 20);            this.textPanel.TabIndex = 5;            this.textPanel.Click += new System.EventHandler(this.textColorPanel_Click);            //             // label31            //             this.label31.AutoSize = true;            this.label31.Location = new System.Drawing.Point(13, 76);            this.label31.Name = "label31";            this.label31.Size = new System.Drawing.Size(65, 12);            this.label31.TabIndex = 4;            this.label31.Text = "文字颜色:";            //             // label21            //             this.label21.AutoSize = true;            this.label21.Location = new System.Drawing.Point(13, 50);            this.label21.Name = "label21";            this.label21.Size = new System.Drawing.Size(65, 12);            this.label21.TabIndex = 2;            this.label21.Text = "文字字号:";            //             // comboBox11            //             this.comboBox11.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;            this.comboBox11.FormattingEnabled = true;            this.comboBox11.Location = new System.Drawing.Point(91, 20);            this.comboBox11.Name = "comboBox11";            this.comboBox11.Size = new System.Drawing.Size(152, 20);            this.comboBox11.TabIndex = 1;            //             // label11            //             this.label11.AutoSize = true;            this.label11.Location = new System.Drawing.Point(13, 23);            this.label11.Name = "label11";            this.label11.Size = new System.Drawing.Size(65, 12);            this.label11.TabIndex = 0;            this.label11.Text = "文字字体:";            //             // groupBox1            //             this.groupBox1.Controls.Add(this.button3);            this.groupBox1.Controls.Add(this.button1);            this.groupBox1.Location = new System.Drawing.Point(12, 12);            this.groupBox1.Name = "groupBox1";            this.groupBox1.Size = new System.Drawing.Size(633, 58);            this.groupBox1.TabIndex = 7;            this.groupBox1.TabStop = false;            this.groupBox1.Text = "操作";            //             // button3            //             this.button3.Location = new System.Drawing.Point(541, 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);            //             // button1            //             this.button1.Location = new System.Drawing.Point(460, 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);            //             // MeasurementPropertiesDialog            //             this.ClientSize = new System.Drawing.Size(652, 319);            this.Controls.Add(this.groupBox2);            this.Controls.Add(this.groupBox1);            this.MinimizeBox = false;            this.Name = "MeasurementPropertiesDialog";            this.Text = "测量属性";            this.groupBox2.ResumeLayout(false);            this.groupBox2.PerformLayout();            ((System.ComponentModel.ISupportInitialize)(this.numericUpDown1)).EndInit();            this.panel3.ResumeLayout(false);            this.panel3.PerformLayout();            this.panel2.ResumeLayout(false);            this.panel2.PerformLayout();            ((System.ComponentModel.ISupportInitialize)(this.numericUpDown11)).EndInit();            ((System.ComponentModel.ISupportInitialize)(this.numericUpDown21)).EndInit();            this.groupBox1.ResumeLayout(false);            this.ResumeLayout(false);        }        #endregion        private void colorsFormUserPrimaryColorChanged(object sender, ColorEventArgs ce)        {        }        private void textColorPanel_Click(object sender, EventArgs e)        {            this.colorsForm.UserPrimaryColor = ColorBgra.FromColor(this.textPanel.BackColor);            this.colorsForm.setSaveBtn_Click(new System.EventHandler(this.textColorChanged));            this.colorsForm.ShowDialog();        }        private void textColorChanged(object sender, EventArgs e)        {            this.textPanel.BackColor = this.colorsForm.UserPrimaryColor.ToColor();            //this.measureStyleModel.backColor = this.colorsForm.UserPrimaryColor.ToColor().ToArgb();            this.colorsForm.Close();        }        private void lineColorPanel_Click(object sender, EventArgs e)        {            this.colorsForm1.UserPrimaryColor = ColorBgra.FromColor(this.linePanel.BackColor);            this.colorsForm1.setSaveBtn_Click(new System.EventHandler(this.lineColorChanged));            this.colorsForm1.ShowDialog();        }        private void lineColorChanged(object sender, EventArgs e)        {            this.linePanel.BackColor = this.colorsForm1.UserPrimaryColor.ToColor();            // this.measureStyleModel.backColor = this.colorsForm.UserPrimaryColor.ToColor().ToArgb();            this.colorsForm1.Close();        }        /// <summary>        /// 初始化属性画面        /// </summary>        private void UpdateRightSettingUI()        {            switch (this.drawObject.drawToolType)            {                case DrawToolType.MeasureLine:   //长度测量直线                    MeasureStyleModel.MeasureLine measureLine = this.measureStyleModel.measureLine;                    this.panel2.Visible = true;                    this.panel3.Visible = false;                    this.numericUpDown1.Visible = true;                    this.label5.Visible = true;                    this.comboBox5.Visible = true;                    this.label6.Visible = true;                    this.label91.Visible = false;                    this.comboBox91.Visible = false;                    UpdataFontPosition(false);                    this.UpdateMeasureStyleData(measureLine.font, measureLine.fontSize, measureLine.textColor, measureLine.lineColor, measureLine.lineWidth, measureLine.lineStyle, measureLine.linePosition, 0, 0, measureLine.vLineLength, measureLine.followLine);                    break;                case DrawToolType.MeasureDistanceLine:   //长度测量距离                    MeasureStyleModel.MeasureDistanceLine measureDistanceLine = this.measureStyleModel.measureDistanceLine;                    this.panel2.Visible = true;                    this.panel3.Visible = false;                    this.numericUpDown1.Visible = false;                    this.label5.Visible = false;                    this.comboBox5.Visible = false;                    this.label6.Visible = false;                    this.label91.Visible = false;                    this.comboBox91.Visible = false;                    UpdataFontPosition(false);                    this.UpdateMeasureStyleData(measureDistanceLine.font, measureDistanceLine.fontSize, measureDistanceLine.textColor, measureDistanceLine.lineColor, measureDistanceLine.lineWidth, measureDistanceLine.lineStyle, measureDistanceLine.linePosition, 0, 0, -1);                    break;                case DrawToolType.MeasureLength:       //长度测量->长度                    MeasureStyleModel.MeasureLength measureLength = this.measureStyleModel.measureLength;                    this.panel2.Visible = true;                    this.panel3.Visible = false;                    this.numericUpDown1.Visible = false;                    this.label5.Visible = false;                    this.comboBox5.Visible = false;                    this.label6.Visible = false;                    this.label91.Visible = false;                    this.comboBox91.Visible = false;                    UpdataFontPosition(false);                    this.UpdateMeasureStyleData(measureLength.font, measureLength.fontSize, measureLength.textColor, measureLength.lineColor, measureLength.lineWidth, measureLength.lineStyle, measureLength.linePosition, 0, 0, -1);                    break;                case DrawToolType.MeasureHLine:     //长度测量->水平线                    MeasureStyleModel.MeasureHLine measureHLine = this.measureStyleModel.measureHLine;                    this.panel2.Visible = true;                    this.panel3.Visible = false;                    this.numericUpDown1.Visible = true;                    this.label5.Visible = true;                    this.comboBox5.Visible = false;                    this.label6.Visible = false;                    this.label91.Visible = false;                    this.comboBox91.Visible = false;                    UpdataFontPosition(false);                    this.UpdateMeasureStyleData(measureHLine.font, measureHLine.fontSize, measureHLine.textColor, measureHLine.lineColor, measureHLine.lineWidth, measureHLine.lineStyle, measureHLine.linePosition, 0, 0, measureHLine.vLineLength);                    break;                case DrawToolType.MeasureVLine:     //长度测量->垂线                    MeasureStyleModel.MeasureVLine measureVLine = this.measureStyleModel.measureVLine;                    this.panel2.Visible = true;                    this.panel3.Visible = false;                    this.numericUpDown1.Visible = true;                    this.label5.Visible = true;                    this.comboBox5.Visible = true;                    this.label6.Visible = true;                    this.label91.Visible = false;                    this.comboBox91.Visible = false;                    UpdataFontPosition(false);                    this.UpdateMeasureStyleData(measureVLine.font, measureVLine.fontSize, measureVLine.textColor, measureVLine.lineColor, measureVLine.lineWidth, measureVLine.lineStyle, measureVLine.linePosition, 0, 0, measureVLine.vLineLength, measureVLine.followLine);                    break;            }        }        private void UpdataFontPosition(bool curve)        {            List<string> position = new List<string> { PdnResources.GetString("Menu.Upperleft.text")                                                        , PdnResources.GetString("Menu.Uppermiddle.Text")                                                        , PdnResources.GetString("Menu.Upperright.text")                                                        , PdnResources.GetString("Menu.Lowerleft.text")                                                        , PdnResources.GetString("Menu.Themiddleandlower.Text")                                                        , PdnResources.GetString("Menu.Lowerright.text")};            List<string> position1 = new List<string> { PdnResources.GetString("Menu.hestartingpoint.Text")                                                        , PdnResources.GetString("Menu.Theendpoint.Text")                                                         };            this.comboBox2.DataSource = null;            if (curve)                this.comboBox2.DataSource = position1;            else                this.comboBox2.DataSource = position;        }        /// <summary>        ///  更新显示区域控件的数值        /// </summary>        /// <param name="font"></param>        /// <param name="fontSize"></param>        /// <param name="textColor"></param>        /// <param name="lineColor"></param>        /// <param name="lineWidth"></param>        /// <param name="lineStyle"></param>        private void UpdateMeasureStyleData(string font, int fontSize, int textColor, int lineColor, int lineWidth, int lineStyle, int linePosition, int linePositionL, int linePositionP, int vLineLength, bool followLine = false, bool isAngle = false)        {            //绑定样式默认数据            this.comboBox11.Text = font;            this.numericUpDown21.Value = fontSize;            this.textPanel.BackColor = Color.FromArgb(textColor);            this.linePanel.BackColor = Color.FromArgb(lineColor);            this.numericUpDown11.Value = lineWidth;            this.comboBox21.SelectedIndex = lineStyle;            if (this.comboBox2.Items.Count > 0)                this.comboBox2.SelectedIndex = linePosition;            if (this.comboBox3.Items.Count > 0)                this.comboBox3.SelectedIndex = linePositionL;            if (this.comboBox4.Items.Count > 0)                this.comboBox4.SelectedIndex = linePositionP;            if (vLineLength > -1)                this.numericUpDown1.Value = vLineLength;            if (followLine)            {                this.comboBox5.SelectedIndex = 0;            }            else            {                this.comboBox5.SelectedIndex = 1;            }            this.comboBox91.SelectedIndex = isAngle ? 1 : 0;        }        /// <summary>        /// 保存        /// </summary>        private void button2_Click()        {            //调用检查类型            this.checkSaveModel();            //以下保存xml文件信息            string stageModelXml = XmlSerializeHelper.XmlSerialize<MeasureStyleModel>(this.measureStyleModel);            string filePath = Application.StartupPath + "\\Config\\" + Program.instance.SettingPrefix + "\\Measure\\" + "Default" + ".xml";            FileOperationHelper.WriteStringToFile(stageModelXml, filePath, FileMode.Create);        }        /// <summary>        /// 检查保存类型        /// </summary>        private void checkSaveModel()        {            string font = comboBox11.Text;            int fontSize = Convert.ToInt32(numericUpDown21.Value);            int textColor = Convert.ToInt32(this.textPanel.BackColor.ToArgb());            int lineColor = Convert.ToInt32(this.linePanel.BackColor.ToArgb());            int lineWidth = Convert.ToInt32(numericUpDown11.Value);            int lineStyle = this.comboBox21.SelectedIndex;            int linePosition = this.comboBox2.SelectedIndex;            int linePositionL = this.comboBox3.SelectedIndex;            int linePositionP = this.comboBox4.SelectedIndex;            int vLineLength = Convert.ToInt32(this.numericUpDown1.Value);            bool isAngle = comboBox91.SelectedIndex == 0 ? false : true;            switch (this.drawObject.drawToolType)            {                case DrawToolType.MeasureLine:   //长度测量直线                    this.measureStyleModel.measureLine.font = font;                    this.measureStyleModel.measureLine.fontSize = fontSize;                    this.measureStyleModel.measureLine.textColor = textColor;                    this.measureStyleModel.measureLine.lineColor = lineColor;                    this.measureStyleModel.measureLine.lineWidth = lineWidth;                    this.measureStyleModel.measureLine.lineStyle = lineStyle;                    this.measureStyleModel.measureLine.linePosition = linePosition;                    this.measureStyleModel.measureLine.vLineLength = vLineLength;                    this.measureStyleModel.measureLine.followLine = this.comboBox5.SelectedIndex == 0 ? true : false;                    break;                case DrawToolType.MeasureDistanceLine:   //长度测量距离                    this.measureStyleModel.measureDistanceLine.font = font;                    this.measureStyleModel.measureDistanceLine.fontSize = fontSize;                    this.measureStyleModel.measureDistanceLine.textColor = textColor;                    this.measureStyleModel.measureDistanceLine.lineColor = lineColor;                    this.measureStyleModel.measureDistanceLine.lineWidth = lineWidth;                    this.measureStyleModel.measureDistanceLine.lineStyle = lineStyle;                    this.measureStyleModel.measureDistanceLine.linePosition = linePosition;                    break;                case DrawToolType.MeasureLength:       //长度测量->长度                                        this.measureStyleModel.measureLength.font = font;                    this.measureStyleModel.measureLength.fontSize = fontSize;                    this.measureStyleModel.measureLength.textColor = textColor;                    this.measureStyleModel.measureLength.lineColor = lineColor;                    this.measureStyleModel.measureLength.lineWidth = lineWidth;                    this.measureStyleModel.measureLength.lineStyle = lineStyle;                    this.measureStyleModel.measureLength.linePosition = linePosition;                    break;                case DrawToolType.MeasureHLine:     //长度测量->水平线                    this.measureStyleModel.measureHLine.font = font;                    this.measureStyleModel.measureHLine.fontSize = fontSize;                    this.measureStyleModel.measureHLine.textColor = textColor;                    this.measureStyleModel.measureHLine.lineColor = lineColor;                    this.measureStyleModel.measureHLine.lineWidth = lineWidth;                    this.measureStyleModel.measureHLine.lineStyle = lineStyle;                    this.measureStyleModel.measureHLine.linePosition = linePosition;                    this.measureStyleModel.measureHLine.vLineLength = vLineLength;                    break;                case DrawToolType.MeasureVLine:     //长度测量->垂线                    this.measureStyleModel.measureVLine.font = font;                    this.measureStyleModel.measureVLine.fontSize = fontSize;                    this.measureStyleModel.measureVLine.textColor = textColor;                    this.measureStyleModel.measureVLine.lineColor = lineColor;                    this.measureStyleModel.measureVLine.lineWidth = lineWidth;                    this.measureStyleModel.measureVLine.lineStyle = lineStyle;                    this.measureStyleModel.measureVLine.linePosition = linePosition;                    this.measureStyleModel.measureVLine.vLineLength = vLineLength;                    this.measureStyleModel.measureVLine.followLine = this.comboBox5.SelectedIndex == 0 ? true : false;                    break;            }        }        /// <summary>        /// 应用        /// </summary>        /// <param name="sender"></param>        /// <param name="e"></param>        private void button1_Click(object sender, EventArgs e)        {            button2_Click();            //修改缓存中的样式数据            Program.instance.measureStyleModel = this.measureStyleModel;            //修改主配置文件中的值            configModel.MeasurementStyle = "Default.xml";            //修改主配置文件的xml            string configModelXml = XmlSerializeHelper.XmlSerialize<ConfigModel>(this.configModel);            string filePath = Application.StartupPath + "\\Config\\" + Program.instance.SettingPrefix + "\\Config.xml";            FileOperationHelper.WriteStringToFile(configModelXml, filePath, FileMode.Create);            MessageBox.Show(PdnResources.GetString("Menu.Applicationsuccessfully.Text"));            ((MeasureDrawObject)(this.drawObject)).mouseUpAttribute = true;            if (this.appWorkspace.ActiveDocumentWorkspace != null) {                this.appWorkspace.ActiveDocumentWorkspace.Refresh();            }            if (documentWorkspaceWindow != null)             {                documentWorkspaceWindow.Refresh();            }            this.appWorkspace.RefreshListView();            this.Close();        }        /// <summary>        /// 关闭        /// </summary>        /// <param name="sender"></param>        /// <param name="e"></param>        private void button3_Click(object sender, EventArgs e)        {            this.Close();        }    }}
 |