Jelajahi Sumber

样品台编辑器优化

CXS 3 tahun lalu
induk
melakukan
227ce9a635

+ 1 - 2
OTSIncAMeasureApp/0-OTSModel/OTSDataType/CDomain.cs

@@ -24,8 +24,7 @@ namespace OTSDataType
         {
             m_nShape = (otsdataconst.DOMAIN_SHAPE)(-1);
             m_rectangle = new Rectangle(0, 0, 0, 0);
-            m_PolygonPoint = new List<Point>();
-       
+            m_PolygonPoint = new List<Point>();       
         }
         public CDomain(otsdataconst.DOMAIN_SHAPE a_nShape, Rectangle a_rectRegion)
         {

+ 94 - 81
OTSIncAMeasureApp/7-OTSProgMgrInfo/Stage/DlgStageEdit.Designer.cs

@@ -68,6 +68,7 @@ namespace OTSMeasureApp._7_OTSProgMgrInfo.Stage
             this.groupBox3 = new System.Windows.Forms.GroupBox();
             this.button_Ok = new System.Windows.Forms.Button();
             this.helpProvider1 = new System.Windows.Forms.HelpProvider();
+            this.button_Coordinate = new System.Windows.Forms.Button();
             ((System.ComponentModel.ISupportInitialize)(this.m_ctrlStagePicture)).BeginInit();
             this.groupBox1.SuspendLayout();
             this.groupBox2.SuspendLayout();
@@ -78,10 +79,10 @@ namespace OTSMeasureApp._7_OTSProgMgrInfo.Stage
             // m_ctrlStagePicture
             // 
             this.m_ctrlStagePicture.BackColor = System.Drawing.Color.White;
-            this.m_ctrlStagePicture.Location = new System.Drawing.Point(554, 10);
-            this.m_ctrlStagePicture.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
+            this.m_ctrlStagePicture.Location = new System.Drawing.Point(692, 12);
+            this.m_ctrlStagePicture.Margin = new System.Windows.Forms.Padding(2);
             this.m_ctrlStagePicture.Name = "m_ctrlStagePicture";
-            this.m_ctrlStagePicture.Size = new System.Drawing.Size(610, 566);
+            this.m_ctrlStagePicture.Size = new System.Drawing.Size(712, 708);
             this.m_ctrlStagePicture.TabIndex = 2;
             this.m_ctrlStagePicture.TabStop = false;
             this.m_ctrlStagePicture.Paint += new System.Windows.Forms.PaintEventHandler(this.m_ctrlStagePicture_Paint);
@@ -89,38 +90,38 @@ namespace OTSMeasureApp._7_OTSProgMgrInfo.Stage
             // label1
             // 
             this.label1.AutoSize = true;
-            this.label1.Location = new System.Drawing.Point(18, 11);
+            this.label1.Location = new System.Drawing.Point(22, 14);
             this.label1.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
             this.label1.Name = "label1";
-            this.label1.Size = new System.Drawing.Size(77, 12);
+            this.label1.Size = new System.Drawing.Size(97, 15);
             this.label1.TabIndex = 3;
             this.label1.Text = "样品台名称:";
             // 
             // tStageName
             // 
-            this.tStageName.Location = new System.Drawing.Point(98, 8);
+            this.tStageName.Location = new System.Drawing.Point(122, 10);
             this.tStageName.Margin = new System.Windows.Forms.Padding(2);
             this.tStageName.Name = "tStageName";
-            this.tStageName.Size = new System.Drawing.Size(444, 21);
+            this.tStageName.Size = new System.Drawing.Size(554, 25);
             this.tStageName.TabIndex = 4;
             // 
             // label2
             // 
             this.label2.AutoSize = true;
-            this.label2.Location = new System.Drawing.Point(18, 42);
+            this.label2.Location = new System.Drawing.Point(22, 52);
             this.label2.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
             this.label2.Name = "label2";
-            this.label2.Size = new System.Drawing.Size(65, 12);
+            this.label2.Size = new System.Drawing.Size(82, 15);
             this.label2.TabIndex = 5;
             this.label2.Text = "坐标系统:";
             // 
             // radioButton_OTS
             // 
             this.radioButton_OTS.AutoSize = true;
-            this.radioButton_OTS.Location = new System.Drawing.Point(98, 42);
+            this.radioButton_OTS.Location = new System.Drawing.Point(122, 52);
             this.radioButton_OTS.Margin = new System.Windows.Forms.Padding(2);
             this.radioButton_OTS.Name = "radioButton_OTS";
-            this.radioButton_OTS.Size = new System.Drawing.Size(89, 16);
+            this.radioButton_OTS.Size = new System.Drawing.Size(112, 19);
             this.radioButton_OTS.TabIndex = 6;
             this.radioButton_OTS.TabStop = true;
             this.radioButton_OTS.Text = "OTS坐标系统";
@@ -129,10 +130,10 @@ namespace OTSMeasureApp._7_OTSProgMgrInfo.Stage
             // radioButton_SEM
             // 
             this.radioButton_SEM.AutoSize = true;
-            this.radioButton_SEM.Location = new System.Drawing.Point(210, 42);
+            this.radioButton_SEM.Location = new System.Drawing.Point(262, 52);
             this.radioButton_SEM.Margin = new System.Windows.Forms.Padding(2);
             this.radioButton_SEM.Name = "radioButton_SEM";
-            this.radioButton_SEM.Size = new System.Drawing.Size(89, 16);
+            this.radioButton_SEM.Size = new System.Drawing.Size(112, 19);
             this.radioButton_SEM.TabIndex = 10;
             this.radioButton_SEM.TabStop = true;
             this.radioButton_SEM.Text = "SEM坐标系统";
@@ -142,10 +143,10 @@ namespace OTSMeasureApp._7_OTSProgMgrInfo.Stage
             // label3
             // 
             this.label3.AutoSize = true;
-            this.label3.Location = new System.Drawing.Point(14, 26);
+            this.label3.Location = new System.Drawing.Point(18, 32);
             this.label3.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
             this.label3.Name = "label3";
-            this.label3.Size = new System.Drawing.Size(101, 12);
+            this.label3.Size = new System.Drawing.Size(127, 15);
             this.label3.TabIndex = 8;
             this.label3.Text = "样品台边框形状:";
             // 
@@ -163,104 +164,104 @@ namespace OTSMeasureApp._7_OTSProgMgrInfo.Stage
             this.groupBox1.Controls.Add(this.radioButton_BoundarySquare);
             this.groupBox1.Controls.Add(this.radioButton_BoundaryCircle);
             this.groupBox1.Controls.Add(this.label3);
-            this.groupBox1.Location = new System.Drawing.Point(4, 62);
+            this.groupBox1.Location = new System.Drawing.Point(5, 78);
             this.groupBox1.Margin = new System.Windows.Forms.Padding(2);
             this.groupBox1.Name = "groupBox1";
             this.groupBox1.Padding = new System.Windows.Forms.Padding(2);
-            this.groupBox1.Size = new System.Drawing.Size(538, 114);
+            this.groupBox1.Size = new System.Drawing.Size(672, 142);
             this.groupBox1.TabIndex = 12;
             this.groupBox1.TabStop = false;
             this.groupBox1.Text = "样品台边框";
             // 
             // tBoundaryHeight
             // 
-            this.tBoundaryHeight.Location = new System.Drawing.Point(356, 76);
+            this.tBoundaryHeight.Location = new System.Drawing.Point(445, 95);
             this.tBoundaryHeight.Margin = new System.Windows.Forms.Padding(2);
             this.tBoundaryHeight.Name = "tBoundaryHeight";
-            this.tBoundaryHeight.Size = new System.Drawing.Size(82, 21);
+            this.tBoundaryHeight.Size = new System.Drawing.Size(102, 25);
             this.tBoundaryHeight.TabIndex = 19;
             // 
             // label8
             // 
             this.label8.AutoSize = true;
-            this.label8.Location = new System.Drawing.Point(298, 78);
+            this.label8.Location = new System.Drawing.Point(372, 98);
             this.label8.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
             this.label8.Name = "label8";
-            this.label8.Size = new System.Drawing.Size(41, 12);
+            this.label8.Size = new System.Drawing.Size(52, 15);
             this.label8.TabIndex = 18;
             this.label8.Text = "高度:";
             // 
             // tBoundaryWide
             // 
-            this.tBoundaryWide.Location = new System.Drawing.Point(356, 46);
+            this.tBoundaryWide.Location = new System.Drawing.Point(445, 58);
             this.tBoundaryWide.Margin = new System.Windows.Forms.Padding(2);
             this.tBoundaryWide.Name = "tBoundaryWide";
-            this.tBoundaryWide.Size = new System.Drawing.Size(82, 21);
+            this.tBoundaryWide.Size = new System.Drawing.Size(102, 25);
             this.tBoundaryWide.TabIndex = 17;
             // 
             // label7
             // 
             this.label7.AutoSize = true;
-            this.label7.Location = new System.Drawing.Point(298, 50);
+            this.label7.Location = new System.Drawing.Point(372, 62);
             this.label7.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
             this.label7.Name = "label7";
-            this.label7.Size = new System.Drawing.Size(41, 12);
+            this.label7.Size = new System.Drawing.Size(52, 15);
             this.label7.TabIndex = 16;
             this.label7.Text = "宽度:";
             // 
             // tBoundaryY
             // 
-            this.tBoundaryY.Location = new System.Drawing.Point(150, 76);
+            this.tBoundaryY.Location = new System.Drawing.Point(188, 95);
             this.tBoundaryY.Margin = new System.Windows.Forms.Padding(2);
             this.tBoundaryY.Name = "tBoundaryY";
-            this.tBoundaryY.Size = new System.Drawing.Size(82, 21);
+            this.tBoundaryY.Size = new System.Drawing.Size(102, 25);
             this.tBoundaryY.TabIndex = 15;
             // 
             // label6
             // 
             this.label6.AutoSize = true;
-            this.label6.Location = new System.Drawing.Point(124, 78);
+            this.label6.Location = new System.Drawing.Point(155, 98);
             this.label6.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
             this.label6.Name = "label6";
-            this.label6.Size = new System.Drawing.Size(23, 12);
+            this.label6.Size = new System.Drawing.Size(30, 15);
             this.label6.TabIndex = 14;
             this.label6.Text = "Y:";
             // 
             // tBoundaryX
             // 
-            this.tBoundaryX.Location = new System.Drawing.Point(150, 46);
+            this.tBoundaryX.Location = new System.Drawing.Point(188, 58);
             this.tBoundaryX.Margin = new System.Windows.Forms.Padding(2);
             this.tBoundaryX.Name = "tBoundaryX";
-            this.tBoundaryX.Size = new System.Drawing.Size(82, 21);
+            this.tBoundaryX.Size = new System.Drawing.Size(102, 25);
             this.tBoundaryX.TabIndex = 13;
             // 
             // label5
             // 
             this.label5.AutoSize = true;
-            this.label5.Location = new System.Drawing.Point(124, 50);
+            this.label5.Location = new System.Drawing.Point(155, 62);
             this.label5.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
             this.label5.Name = "label5";
-            this.label5.Size = new System.Drawing.Size(23, 12);
+            this.label5.Size = new System.Drawing.Size(30, 15);
             this.label5.TabIndex = 12;
             this.label5.Text = "X:";
             // 
             // label4
             // 
             this.label4.AutoSize = true;
-            this.label4.Location = new System.Drawing.Point(14, 50);
+            this.label4.Location = new System.Drawing.Point(18, 62);
             this.label4.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
             this.label4.Name = "label4";
-            this.label4.Size = new System.Drawing.Size(77, 12);
+            this.label4.Size = new System.Drawing.Size(97, 15);
             this.label4.TabIndex = 11;
             this.label4.Text = "中心点坐标:";
             // 
             // radioButton_BoundarySquare
             // 
             this.radioButton_BoundarySquare.AutoSize = true;
-            this.radioButton_BoundarySquare.Location = new System.Drawing.Point(186, 22);
+            this.radioButton_BoundarySquare.Location = new System.Drawing.Point(232, 28);
             this.radioButton_BoundarySquare.Margin = new System.Windows.Forms.Padding(2);
             this.radioButton_BoundarySquare.Name = "radioButton_BoundarySquare";
-            this.radioButton_BoundarySquare.Size = new System.Drawing.Size(47, 16);
+            this.radioButton_BoundarySquare.Size = new System.Drawing.Size(58, 19);
             this.radioButton_BoundarySquare.TabIndex = 10;
             this.radioButton_BoundarySquare.TabStop = true;
             this.radioButton_BoundarySquare.Text = "方形";
@@ -270,10 +271,10 @@ namespace OTSMeasureApp._7_OTSProgMgrInfo.Stage
             // radioButton_BoundaryCircle
             // 
             this.radioButton_BoundaryCircle.AutoSize = true;
-            this.radioButton_BoundaryCircle.Location = new System.Drawing.Point(126, 22);
+            this.radioButton_BoundaryCircle.Location = new System.Drawing.Point(158, 28);
             this.radioButton_BoundaryCircle.Margin = new System.Windows.Forms.Padding(2);
             this.radioButton_BoundaryCircle.Name = "radioButton_BoundaryCircle";
-            this.radioButton_BoundaryCircle.Size = new System.Drawing.Size(47, 16);
+            this.radioButton_BoundaryCircle.Size = new System.Drawing.Size(58, 19);
             this.radioButton_BoundaryCircle.TabIndex = 9;
             this.radioButton_BoundaryCircle.TabStop = true;
             this.radioButton_BoundaryCircle.Text = "圆形";
@@ -294,104 +295,104 @@ namespace OTSMeasureApp._7_OTSProgMgrInfo.Stage
             this.groupBox2.Controls.Add(this.radioButton_StandardsampleSqare);
             this.groupBox2.Controls.Add(this.radioButton_StandardsampleCircle);
             this.groupBox2.Controls.Add(this.label14);
-            this.groupBox2.Location = new System.Drawing.Point(4, 178);
+            this.groupBox2.Location = new System.Drawing.Point(5, 222);
             this.groupBox2.Margin = new System.Windows.Forms.Padding(2);
             this.groupBox2.Name = "groupBox2";
             this.groupBox2.Padding = new System.Windows.Forms.Padding(2);
-            this.groupBox2.Size = new System.Drawing.Size(538, 106);
+            this.groupBox2.Size = new System.Drawing.Size(672, 132);
             this.groupBox2.TabIndex = 13;
             this.groupBox2.TabStop = false;
             this.groupBox2.Text = "标样";
             // 
             // tStandardsampleHeight
             // 
-            this.tStandardsampleHeight.Location = new System.Drawing.Point(356, 76);
+            this.tStandardsampleHeight.Location = new System.Drawing.Point(445, 95);
             this.tStandardsampleHeight.Margin = new System.Windows.Forms.Padding(2);
             this.tStandardsampleHeight.Name = "tStandardsampleHeight";
-            this.tStandardsampleHeight.Size = new System.Drawing.Size(82, 21);
+            this.tStandardsampleHeight.Size = new System.Drawing.Size(102, 25);
             this.tStandardsampleHeight.TabIndex = 19;
             // 
             // label9
             // 
             this.label9.AutoSize = true;
-            this.label9.Location = new System.Drawing.Point(298, 78);
+            this.label9.Location = new System.Drawing.Point(372, 98);
             this.label9.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
             this.label9.Name = "label9";
-            this.label9.Size = new System.Drawing.Size(41, 12);
+            this.label9.Size = new System.Drawing.Size(52, 15);
             this.label9.TabIndex = 18;
             this.label9.Text = "高度:";
             // 
             // tStandardsampleWide
             // 
-            this.tStandardsampleWide.Location = new System.Drawing.Point(356, 46);
+            this.tStandardsampleWide.Location = new System.Drawing.Point(445, 58);
             this.tStandardsampleWide.Margin = new System.Windows.Forms.Padding(2);
             this.tStandardsampleWide.Name = "tStandardsampleWide";
-            this.tStandardsampleWide.Size = new System.Drawing.Size(82, 21);
+            this.tStandardsampleWide.Size = new System.Drawing.Size(102, 25);
             this.tStandardsampleWide.TabIndex = 17;
             // 
             // label10
             // 
             this.label10.AutoSize = true;
-            this.label10.Location = new System.Drawing.Point(298, 50);
+            this.label10.Location = new System.Drawing.Point(372, 62);
             this.label10.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
             this.label10.Name = "label10";
-            this.label10.Size = new System.Drawing.Size(41, 12);
+            this.label10.Size = new System.Drawing.Size(52, 15);
             this.label10.TabIndex = 16;
             this.label10.Text = "宽度:";
             // 
             // tStandardsampleY
             // 
-            this.tStandardsampleY.Location = new System.Drawing.Point(150, 76);
+            this.tStandardsampleY.Location = new System.Drawing.Point(188, 95);
             this.tStandardsampleY.Margin = new System.Windows.Forms.Padding(2);
             this.tStandardsampleY.Name = "tStandardsampleY";
-            this.tStandardsampleY.Size = new System.Drawing.Size(82, 21);
+            this.tStandardsampleY.Size = new System.Drawing.Size(102, 25);
             this.tStandardsampleY.TabIndex = 15;
             // 
             // label11
             // 
             this.label11.AutoSize = true;
-            this.label11.Location = new System.Drawing.Point(124, 78);
+            this.label11.Location = new System.Drawing.Point(155, 98);
             this.label11.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
             this.label11.Name = "label11";
-            this.label11.Size = new System.Drawing.Size(23, 12);
+            this.label11.Size = new System.Drawing.Size(30, 15);
             this.label11.TabIndex = 14;
             this.label11.Text = "Y:";
             // 
             // tStandardsampleX
             // 
-            this.tStandardsampleX.Location = new System.Drawing.Point(150, 46);
+            this.tStandardsampleX.Location = new System.Drawing.Point(188, 58);
             this.tStandardsampleX.Margin = new System.Windows.Forms.Padding(2);
             this.tStandardsampleX.Name = "tStandardsampleX";
-            this.tStandardsampleX.Size = new System.Drawing.Size(82, 21);
+            this.tStandardsampleX.Size = new System.Drawing.Size(102, 25);
             this.tStandardsampleX.TabIndex = 13;
             // 
             // label12
             // 
             this.label12.AutoSize = true;
-            this.label12.Location = new System.Drawing.Point(124, 50);
+            this.label12.Location = new System.Drawing.Point(155, 62);
             this.label12.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
             this.label12.Name = "label12";
-            this.label12.Size = new System.Drawing.Size(23, 12);
+            this.label12.Size = new System.Drawing.Size(30, 15);
             this.label12.TabIndex = 12;
             this.label12.Text = "X:";
             // 
             // label13
             // 
             this.label13.AutoSize = true;
-            this.label13.Location = new System.Drawing.Point(14, 50);
+            this.label13.Location = new System.Drawing.Point(18, 62);
             this.label13.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
             this.label13.Name = "label13";
-            this.label13.Size = new System.Drawing.Size(77, 12);
+            this.label13.Size = new System.Drawing.Size(97, 15);
             this.label13.TabIndex = 11;
             this.label13.Text = "中心点坐标:";
             // 
             // radioButton_StandardsampleSqare
             // 
             this.radioButton_StandardsampleSqare.AutoSize = true;
-            this.radioButton_StandardsampleSqare.Location = new System.Drawing.Point(186, 22);
+            this.radioButton_StandardsampleSqare.Location = new System.Drawing.Point(232, 28);
             this.radioButton_StandardsampleSqare.Margin = new System.Windows.Forms.Padding(2);
             this.radioButton_StandardsampleSqare.Name = "radioButton_StandardsampleSqare";
-            this.radioButton_StandardsampleSqare.Size = new System.Drawing.Size(47, 16);
+            this.radioButton_StandardsampleSqare.Size = new System.Drawing.Size(58, 19);
             this.radioButton_StandardsampleSqare.TabIndex = 10;
             this.radioButton_StandardsampleSqare.TabStop = true;
             this.radioButton_StandardsampleSqare.Text = "方形";
@@ -401,10 +402,10 @@ namespace OTSMeasureApp._7_OTSProgMgrInfo.Stage
             // radioButton_StandardsampleCircle
             // 
             this.radioButton_StandardsampleCircle.AutoSize = true;
-            this.radioButton_StandardsampleCircle.Location = new System.Drawing.Point(126, 22);
+            this.radioButton_StandardsampleCircle.Location = new System.Drawing.Point(158, 28);
             this.radioButton_StandardsampleCircle.Margin = new System.Windows.Forms.Padding(2);
             this.radioButton_StandardsampleCircle.Name = "radioButton_StandardsampleCircle";
-            this.radioButton_StandardsampleCircle.Size = new System.Drawing.Size(47, 16);
+            this.radioButton_StandardsampleCircle.Size = new System.Drawing.Size(58, 19);
             this.radioButton_StandardsampleCircle.TabIndex = 9;
             this.radioButton_StandardsampleCircle.TabStop = true;
             this.radioButton_StandardsampleCircle.Text = "圆形";
@@ -414,19 +415,19 @@ namespace OTSMeasureApp._7_OTSProgMgrInfo.Stage
             // label14
             // 
             this.label14.AutoSize = true;
-            this.label14.Location = new System.Drawing.Point(14, 26);
+            this.label14.Location = new System.Drawing.Point(18, 32);
             this.label14.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
             this.label14.Name = "label14";
-            this.label14.Size = new System.Drawing.Size(65, 12);
+            this.label14.Size = new System.Drawing.Size(82, 15);
             this.label14.TabIndex = 8;
             this.label14.Text = "标样形状:";
             // 
             // button_Generate
             // 
-            this.button_Generate.Location = new System.Drawing.Point(554, 584);
+            this.button_Generate.Location = new System.Drawing.Point(692, 730);
             this.button_Generate.Margin = new System.Windows.Forms.Padding(2);
             this.button_Generate.Name = "button_Generate";
-            this.button_Generate.Size = new System.Drawing.Size(466, 30);
+            this.button_Generate.Size = new System.Drawing.Size(407, 38);
             this.button_Generate.TabIndex = 16;
             this.button_Generate.Text = "生成";
             this.button_Generate.UseVisualStyleBackColor = true;
@@ -440,24 +441,24 @@ namespace OTSMeasureApp._7_OTSProgMgrInfo.Stage
             this.dataGridView_Holes.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
             this.dataGridView_Holes.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
             this.dataGridView_Holes.Dock = System.Windows.Forms.DockStyle.Fill;
-            this.dataGridView_Holes.Location = new System.Drawing.Point(2, 16);
+            this.dataGridView_Holes.Location = new System.Drawing.Point(2, 20);
             this.dataGridView_Holes.Margin = new System.Windows.Forms.Padding(2);
             this.dataGridView_Holes.Name = "dataGridView_Holes";
             this.dataGridView_Holes.RowHeadersVisible = false;
             this.dataGridView_Holes.RowHeadersWidth = 62;
             this.dataGridView_Holes.RowTemplate.Height = 20;
             this.dataGridView_Holes.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.CellSelect;
-            this.dataGridView_Holes.Size = new System.Drawing.Size(514, 312);
+            this.dataGridView_Holes.Size = new System.Drawing.Size(644, 390);
             this.dataGridView_Holes.TabIndex = 17;
             this.dataGridView_Holes.CurrentCellChanged += new System.EventHandler(this.dataGridView_Holes_CurrentCellChanged);
             this.dataGridView_Holes.Scroll += new System.Windows.Forms.ScrollEventHandler(this.dataGridView_Holes_Scroll);
             // 
             // button_AddHole
             // 
-            this.button_AddHole.Location = new System.Drawing.Point(526, 302);
+            this.button_AddHole.Location = new System.Drawing.Point(658, 378);
             this.button_AddHole.Margin = new System.Windows.Forms.Padding(2);
             this.button_AddHole.Name = "button_AddHole";
-            this.button_AddHole.Size = new System.Drawing.Size(22, 86);
+            this.button_AddHole.Size = new System.Drawing.Size(28, 108);
             this.button_AddHole.TabIndex = 18;
             this.button_AddHole.Text = "增加样品孔";
             this.button_AddHole.UseVisualStyleBackColor = true;
@@ -465,10 +466,10 @@ namespace OTSMeasureApp._7_OTSProgMgrInfo.Stage
             // 
             // button_DelHole
             // 
-            this.button_DelHole.Location = new System.Drawing.Point(526, 390);
+            this.button_DelHole.Location = new System.Drawing.Point(658, 488);
             this.button_DelHole.Margin = new System.Windows.Forms.Padding(2);
             this.button_DelHole.Name = "button_DelHole";
-            this.button_DelHole.Size = new System.Drawing.Size(22, 86);
+            this.button_DelHole.Size = new System.Drawing.Size(28, 108);
             this.button_DelHole.TabIndex = 19;
             this.button_DelHole.Text = "删除样品孔";
             this.button_DelHole.UseVisualStyleBackColor = true;
@@ -477,11 +478,11 @@ namespace OTSMeasureApp._7_OTSProgMgrInfo.Stage
             // groupBox3
             // 
             this.groupBox3.Controls.Add(this.dataGridView_Holes);
-            this.groupBox3.Location = new System.Drawing.Point(4, 286);
+            this.groupBox3.Location = new System.Drawing.Point(5, 358);
             this.groupBox3.Margin = new System.Windows.Forms.Padding(2);
             this.groupBox3.Name = "groupBox3";
             this.groupBox3.Padding = new System.Windows.Forms.Padding(2);
-            this.groupBox3.Size = new System.Drawing.Size(518, 330);
+            this.groupBox3.Size = new System.Drawing.Size(648, 412);
             this.groupBox3.TabIndex = 20;
             this.groupBox3.TabStop = false;
             this.groupBox3.Text = "样品孔信息:";
@@ -489,20 +490,31 @@ namespace OTSMeasureApp._7_OTSProgMgrInfo.Stage
             // button_Ok
             // 
             this.button_Ok.Enabled = false;
-            this.button_Ok.Location = new System.Drawing.Point(1046, 584);
+            this.button_Ok.Location = new System.Drawing.Point(1256, 730);
             this.button_Ok.Margin = new System.Windows.Forms.Padding(2);
             this.button_Ok.Name = "button_Ok";
-            this.button_Ok.Size = new System.Drawing.Size(118, 30);
+            this.button_Ok.Size = new System.Drawing.Size(148, 38);
             this.button_Ok.TabIndex = 21;
             this.button_Ok.Text = "保存";
             this.button_Ok.UseVisualStyleBackColor = true;
             this.button_Ok.Click += new System.EventHandler(this.button_Ok_Click);
             // 
+            // button_Coordinate
+            // 
+            this.button_Coordinate.Location = new System.Drawing.Point(1104, 730);
+            this.button_Coordinate.Name = "button_Coordinate";
+            this.button_Coordinate.Size = new System.Drawing.Size(125, 38);
+            this.button_Coordinate.TabIndex = 22;
+            this.button_Coordinate.Text = "坐标系显示";
+            this.button_Coordinate.UseVisualStyleBackColor = true;
+            this.button_Coordinate.Click += new System.EventHandler(this.button_Coordinate_Click);
+            // 
             // DlgStageEdit
             // 
-            this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F);
+            this.AutoScaleDimensions = new System.Drawing.SizeF(120F, 120F);
             this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi;
-            this.ClientSize = new System.Drawing.Size(1170, 618);
+            this.ClientSize = new System.Drawing.Size(1407, 773);
+            this.Controls.Add(this.button_Coordinate);
             this.Controls.Add(this.button_Ok);
             this.Controls.Add(this.button_DelHole);
             this.Controls.Add(this.groupBox3);
@@ -519,9 +531,9 @@ namespace OTSMeasureApp._7_OTSProgMgrInfo.Stage
             this.HelpButton = true;
             this.Margin = new System.Windows.Forms.Padding(2);
             this.MaximizeBox = false;
-            this.MaximumSize = new System.Drawing.Size(1190, 669);
+            this.MaximumSize = new System.Drawing.Size(1425, 820);
             this.MinimizeBox = false;
-            this.MinimumSize = new System.Drawing.Size(855, 466);
+            this.MinimumSize = new System.Drawing.Size(1425, 820);
             this.Name = "DlgStageEdit";
             this.ShowIcon = false;
             this.ShowInTaskbar = false;
@@ -583,5 +595,6 @@ namespace OTSMeasureApp._7_OTSProgMgrInfo.Stage
         private System.Windows.Forms.GroupBox groupBox3;
         private System.Windows.Forms.Button button_Ok;
         private System.Windows.Forms.HelpProvider helpProvider1;
+        private System.Windows.Forms.Button button_Coordinate;
     }
 }

+ 69 - 7
OTSIncAMeasureApp/7-OTSProgMgrInfo/Stage/DlgStageEdit.cs

@@ -301,7 +301,7 @@ namespace OTSMeasureApp._7_OTSProgMgrInfo.Stage
                 // STD has to be inside of the boundary
                 if (!pBoundary.DomainInDomain(pSTD))
                 {
-                    // STD is over the boundary
+                    MessageBox.Show("STD is over the boundary!");
                     return ;
                 }
             }
@@ -316,12 +316,12 @@ namespace OTSMeasureApp._7_OTSProgMgrInfo.Stage
             {
                 if (!pBoundary.DomainInDomain(pHole))
                 {
-                    // this hole is over the boundary, jump over
+                    MessageBox.Show(pHole.GetName() + "is over the boundary, jump over!");
                     continue;
                 }
                 else if (pSTD.IntersectDomain(pHole))
                 {
-                    // this hole has common part with STD, jump over
+                    MessageBox.Show(pHole.GetName() + " has common part with STD, jump over!");
                     continue;
                 }
                 bool bHasCommonPart = false;
@@ -329,8 +329,8 @@ namespace OTSMeasureApp._7_OTSProgMgrInfo.Stage
                 {
                     if (pStageHole.IntersectDomain(pHole))
                     {
-                        // this hole has common part with a hole already on the stage
-                        bHasCommonPart = true;
+                        MessageBox.Show(pHole.GetName() + "  has common part with a hole already on the stage!");
+                       bHasCommonPart = true;
                         break;
                     }
                 }
@@ -392,7 +392,13 @@ namespace OTSMeasureApp._7_OTSProgMgrInfo.Stage
             CDomain pBoundery = m_pStage.GetBoundary();// GetBoundary();
             System.Drawing.Rectangle BounderyRect = pBoundery.GetDomainRect();
             int nBounderyWidth = (int)(BounderyRect.Width);//um,,pixle is (nWidth - PIC_EDGE * 2 )
-            int nBounderyHeight = (int)(BounderyRect.Height);
+            int nBounderyHeight = 0;
+            if (pBoundery.GetShape() == otsdataconst.DOMAIN_SHAPE.RECTANGLE)
+            {nBounderyHeight = (int)(BounderyRect.Height);}
+            else
+            {
+                nBounderyHeight = (int)(BounderyRect.Width);
+            }
             double PixSize = 0;
             double coordinateSystemEndpoint = 0;
             if (nBounderyWidth > nBounderyHeight)
@@ -421,7 +427,8 @@ namespace OTSMeasureApp._7_OTSProgMgrInfo.Stage
 
             // draw ratio
             stageDisplayHelp.DrawRatio(nBounderyWidth, nWidth, nHeight, pDC, (IntPtr)pWnd, rc);
-            stageDisplayHelp.DrawXY(pDC, m_ctrlStagePicture.Width, m_ctrlStagePicture.Height, PixSize, coordinateSystemEndpoint);
+            
+            //stageDisplayHelp.DrawXY(pDC, m_ctrlStagePicture.Width, m_ctrlStagePicture.Height, PixSize, coordinateSystemEndpoint);
             pLTGrayBrush.Dispose();
             //pBlackBrush.Dispose();
             //pWriteBrush.Dispose();
@@ -514,5 +521,60 @@ namespace OTSMeasureApp._7_OTSProgMgrInfo.Stage
         {
             MessageBox.Show("样品台文件说明\n样品台名行只能有一个字符串参数。样品台名不能为空字串,不能含\',\'字符\n样品台边框行有5个数值参数。形状参数,中心x坐标,中心y坐标,宽度或直径,高度或0\n标样信息行有5个数值参数。形状参数,中心x坐标,中心y坐标,宽度或直径,高度或0\n样品孔信息行有6个数值参数,1个字符串参数,5个数值参数。1个字符串参数为样品孔名。5个数值参数为形状参数,中心x坐标,中心y坐标,宽度或直径,高度或0。", "Help",MessageBoxButtons.OK,MessageBoxIcon.Information);
         }
+
+        private void button_Coordinate_Click(object sender, EventArgs e)
+        {
+            if (button_Coordinate.Text == "坐标系显示")
+            {
+                Object pDC = new Object();
+                pDC = m_ctrlStagePicture.CreateGraphics();
+                Rectangle rc = new Rectangle(m_ctrlStagePicture.Location, m_ctrlStagePicture.Size);
+                int nWidth = (int)rc.Width;
+                int nHeight = (int)rc.Height;
+                double nBounderyWidth = 0;//um,,pixle is (nWidth - PIC_EDGE * 2 )
+                double nBounderyHeight = 0;
+                if(double.TryParse(tBoundaryWide.Text,out nBounderyWidth))
+                {
+                   nBounderyWidth = double.Parse(tBoundaryWide.Text);
+                }
+                else
+                {
+                   nBounderyWidth = 50000;
+                }
+                if (double.TryParse(tBoundaryHeight.Text, out nBounderyHeight))
+                {
+                    nBounderyHeight = double.Parse(tBoundaryHeight.Text);
+                }
+                else
+                {
+                    nBounderyHeight = 50000;
+                }
+                double PixSize = 0;
+                double coordinateSystemEndpointX = nBounderyWidth / 2;
+                double coordinateSystemEndpointY= nBounderyHeight / 2;
+                if (nBounderyWidth > nBounderyHeight)
+                {
+                    PixSize = (long)((double)nBounderyWidth / (double)(nWidth - StageDisplayHelp.PIC_EDGE * 2));
+                }
+                else
+                {
+                    PixSize = (long)((double)nBounderyHeight / (double)(nHeight - StageDisplayHelp.PIC_EDGE * 2));
+                }
+                stageDisplayHelp.DrawXY(pDC, m_ctrlStagePicture.Width, m_ctrlStagePicture.Height, PixSize, coordinateSystemEndpointX,coordinateSystemEndpointY);
+                button_Coordinate.Text = "坐标系关闭";
+            }
+            else
+            {
+                if(m_pStage != null)
+                {
+                    DrawStage();
+                }
+                else
+                {
+                    m_ctrlStagePicture.Refresh();
+                }
+                button_Coordinate.Text = "坐标系显示";
+            }
+        }
     }
 }

+ 21 - 21
OTSIncAMeasureApp/7-OTSProgMgrInfo/Stage/StageDisplayHelp.cs

@@ -305,7 +305,7 @@ namespace OTSMeasureApp._7_OTSProgMgrInfo.Stage
         /// 在任意的panel里画一个坐标,坐标所在的四边形距离panel边50像素
         /// </summary>
         /// <param name="pan"></param>
-        public void DrawXY(Object a_pDC, double width,double height, double a_dPixSize,double coordinateSystemEndpoint)
+        public void DrawXY(Object a_pDC, double width,double height, double a_dPixSize,double coordinateSystemEndpointX, double coordinateSystemEndpointY)
         {
             if (a_pDC == null)
             {
@@ -316,9 +316,9 @@ namespace OTSMeasureApp._7_OTSProgMgrInfo.Stage
             //绘制X轴,
             double ObjectCenterX =  width/ 2;     
             double ObjectCenterY = height / 2;
-            int X0 = (int)(coordinateSystemEndpoint / a_dPixSize + ObjectCenterX);
+            int X0 = (int)(coordinateSystemEndpointX / a_dPixSize + ObjectCenterX);
             int Y0 = (int)(0 / a_dPixSize + ObjectCenterY);
-            int X1 = (int)(-coordinateSystemEndpoint / a_dPixSize + ObjectCenterX);
+            int X1 = (int)(-coordinateSystemEndpointX / a_dPixSize + ObjectCenterX);
             int Y1 = (int)(0 / a_dPixSize + ObjectCenterY);
             Point px1 = new Point(X0, Y0);
             Point px2 = new Point(X1, Y1);
@@ -326,9 +326,9 @@ namespace OTSMeasureApp._7_OTSProgMgrInfo.Stage
             g.DrawLine(pen, px1, px2);
             //绘制Y轴
             int X3 = (int)(0 / a_dPixSize + ObjectCenterX);
-            int Y3 = (int)(coordinateSystemEndpoint / a_dPixSize + ObjectCenterY);
+            int Y3 = (int)(coordinateSystemEndpointY / a_dPixSize + ObjectCenterY);
             int X4 = (int)(0 / a_dPixSize + ObjectCenterX);
-            int Y4 = (int)(-coordinateSystemEndpoint / a_dPixSize + ObjectCenterY);
+            int Y4 = (int)(-coordinateSystemEndpointY / a_dPixSize + ObjectCenterY);
             PointF py1 = new PointF(X3, Y3);
             PointF py2 = new PointF(X4, Y4);
             g.DrawLine(pen, py1, py2);
@@ -336,47 +336,47 @@ namespace OTSMeasureApp._7_OTSProgMgrInfo.Stage
             int move = 5,len=10;
             for (int i = 1; i <= len; i++)    //len等分Y正轴
             {
-                Point px3 = new Point((int)ObjectCenterX + move, (int)(ObjectCenterY + (-coordinateSystemEndpoint / a_dPixSize) / len * i));
-                Point px4 = new Point((int)ObjectCenterX, (int)(ObjectCenterY + (-coordinateSystemEndpoint / a_dPixSize) / len * i));
-                string sx = ((int)(-(-coordinateSystemEndpoint) / len * i)).ToString();
+                Point px3 = new Point((int)ObjectCenterX + move, (int)(ObjectCenterY + (-coordinateSystemEndpointY / a_dPixSize) / len * i));
+                Point px4 = new Point((int)ObjectCenterX, (int)(ObjectCenterY + (-coordinateSystemEndpointY / a_dPixSize) / len * i));
+                string sx = ((int)(-(-coordinateSystemEndpointY) / len * i)).ToString();
                 g.DrawLine(pen, px3, px4);
                 StringFormat drawFormat = new StringFormat();
                 drawFormat.Alignment = StringAlignment.Far;
                 drawFormat.LineAlignment = StringAlignment.Center;
-                g.DrawString(sx, new Font("宋体", 8f), Brushes.Green, new Point((int)ObjectCenterX - 5, (int)(ObjectCenterY + (-coordinateSystemEndpoint / a_dPixSize) / len * i)), drawFormat);
+                g.DrawString(sx, new Font("宋体", 8f), Brushes.Green, new Point((int)ObjectCenterX - 5, (int)(ObjectCenterY + (-coordinateSystemEndpointY / a_dPixSize) / len * i)), drawFormat);
             }
             for (int i = 1; i <= len; i++)    
             {
-                Point px3 = new Point((int)ObjectCenterX + move, (int)(ObjectCenterY + (coordinateSystemEndpoint / a_dPixSize) / len * i));
-                Point px4 = new Point((int)ObjectCenterX, (int)(ObjectCenterY + (coordinateSystemEndpoint / a_dPixSize) / len * i));
-                string sx = ((int)((-coordinateSystemEndpoint) / len * i)).ToString();
+                Point px3 = new Point((int)ObjectCenterX + move, (int)(ObjectCenterY + (coordinateSystemEndpointY / a_dPixSize) / len * i));
+                Point px4 = new Point((int)ObjectCenterX, (int)(ObjectCenterY + (coordinateSystemEndpointY / a_dPixSize) / len * i));
+                string sx = ((int)((-coordinateSystemEndpointY) / len * i)).ToString();
                 g.DrawLine(pen, px3, px4);
                 StringFormat drawFormat = new StringFormat();
                 drawFormat.Alignment = StringAlignment.Far;
                 drawFormat.LineAlignment = StringAlignment.Center;
-                g.DrawString(sx, new Font("宋体", 8f), Brushes.Green, new Point((int)ObjectCenterX - 5, (int)(ObjectCenterY + (coordinateSystemEndpoint / a_dPixSize) / len * i)), drawFormat);
+                g.DrawString(sx, new Font("宋体", 8f), Brushes.Green, new Point((int)ObjectCenterX - 5, (int)(ObjectCenterY + (coordinateSystemEndpointY / a_dPixSize) / len * i)), drawFormat);
             }
             for (int i = 1; i <= len; i++)    //len等分X正轴
             {
-                Point px3 = new Point((int)(ObjectCenterX + (coordinateSystemEndpoint / a_dPixSize) / len * i) , (int)(ObjectCenterY + move));
-                Point px4 = new Point((int)(ObjectCenterX + (coordinateSystemEndpoint / a_dPixSize) / len * i), (int)ObjectCenterY);
-                string sx = ((int)(coordinateSystemEndpoint / len * i)).ToString();
+                Point px3 = new Point((int)(ObjectCenterX + (coordinateSystemEndpointX / a_dPixSize) / len * i) , (int)(ObjectCenterY + move));
+                Point px4 = new Point((int)(ObjectCenterX + (coordinateSystemEndpointX / a_dPixSize) / len * i), (int)ObjectCenterY);
+                string sx = ((int)(coordinateSystemEndpointX / len * i)).ToString();
                 g.DrawLine(pen, px3, px4);
                 StringFormat drawFormat = new StringFormat();
                 drawFormat.Alignment = StringAlignment.Far;
                 drawFormat.LineAlignment = StringAlignment.Center;
-                g.DrawString(sx, new Font("宋体", 6f), Brushes.Green, new Point((int)(ObjectCenterX + (coordinateSystemEndpoint / a_dPixSize) / len * i)+5, (int)(ObjectCenterY + 15)), drawFormat);
+                g.DrawString(sx, new Font("宋体", 6f), Brushes.Green, new Point((int)(ObjectCenterX + (coordinateSystemEndpointX / a_dPixSize) / len * i)+5, (int)(ObjectCenterY + 15)), drawFormat);
             }
             for (int i = 1; i <= len; i++)
             {
-                Point px3 = new Point((int)(ObjectCenterX + (-coordinateSystemEndpoint / a_dPixSize) / len * i), (int)(ObjectCenterY + move));
-                Point px4 = new Point((int)(ObjectCenterX + (-coordinateSystemEndpoint / a_dPixSize) / len * i), (int)(ObjectCenterY));
-                string sx = ((int)((-coordinateSystemEndpoint) / len * i)).ToString();
+                Point px3 = new Point((int)(ObjectCenterX + (-coordinateSystemEndpointX / a_dPixSize) / len * i), (int)(ObjectCenterY + move));
+                Point px4 = new Point((int)(ObjectCenterX + (-coordinateSystemEndpointX / a_dPixSize) / len * i), (int)(ObjectCenterY));
+                string sx = ((int)((-coordinateSystemEndpointX) / len * i)).ToString();
                 g.DrawLine(pen, px3, px4);
                 StringFormat drawFormat = new StringFormat();
                 drawFormat.Alignment = StringAlignment.Far;
                 drawFormat.LineAlignment = StringAlignment.Center;
-                g.DrawString(sx, new Font("宋体", 6f), Brushes.Green, new Point((int)(ObjectCenterX + (-coordinateSystemEndpoint / a_dPixSize) / len * i)+5, (int)(ObjectCenterY + 15)), drawFormat);
+                g.DrawString(sx, new Font("宋体", 6f), Brushes.Green, new Point((int)(ObjectCenterX + (-coordinateSystemEndpointX / a_dPixSize) / len * i)+5, (int)(ObjectCenterY + 15)), drawFormat);
             }
 
             //g.Dispose();