using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using PaintDotNet.Annotation; using PaintDotNet.Annotation.ImageCollect; using StageController; namespace PaintDotNet.ImageCollect.MultiDimensiona { internal partial class MultiDimensionaDetailDialog : PdnBaseForm { private List> m_points; private int m_index; private DataGridViewTextBoxColumn Column1; private DataGridViewTextBoxColumn Column2; private DataGridViewButtonColumn zAxis; private DataGridViewButtonColumn btnDel; private DataGridViewTextBoxColumn index; private DocumentPreview m_documentWorkspace; public MultiDimensionaDetailDialog(DocumentPreview documentWorkspace, int index) { this.m_documentWorkspace = documentWorkspace; this.m_index = index; InitializeComponent(); InitDgvPoints(); } private void InitDgvPoints() { dgvPoints.Rows.Clear(); this.m_points = ((DrawStithchingBase)m_documentWorkspace.GraphicsList[m_index]).GetViewPoints(); for (int i = 0; i < m_points.Count; i++) { Dictionary point = m_points[i]; if (point[1].ToString().Equals("0")) { string btnTitle = PdnResources.GetString("Menu.Isnotset.Text"); var zscan = ((DrawStithchingBase)m_documentWorkspace.GraphicsList[m_index]).GetZAxisScan(i); if (zscan.Track != 0) { btnTitle = PdnResources.GetString("Menu.Hasbeenset.Text"); } PointF pointF = (PointF)point[0]; dgvPoints.Rows.Add(pointF.X, pointF.Y, btnTitle, PdnResources.GetString("Menu.Edit.Delete.Text"), i); } } } #region 控件 /// /// Required designer variable. /// private System.ComponentModel.IContainer components = null; /// /// Clean up any resources being used. /// /// true if managed resources should be disposed; otherwise, false. protected override void Dispose(bool disposing) { if (disposing && (components != null)) { components.Dispose(); } base.Dispose(disposing); } // Windows Form Designer generated code /// /// Required method for Designer support - do not modify /// the contents of this method with the code editor. /// private void InitializeComponent() { this.button1 = new System.Windows.Forms.Button(); this.dgvPoints = new System.Windows.Forms.DataGridView(); this.Column1 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.Column2 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.zAxis = new System.Windows.Forms.DataGridViewButtonColumn(); this.btnDel = new System.Windows.Forms.DataGridViewButtonColumn(); this.index = new System.Windows.Forms.DataGridViewTextBoxColumn(); ((System.ComponentModel.ISupportInitialize)(this.dgvPoints)).BeginInit(); this.SuspendLayout(); // // button1 // this.button1.Location = new System.Drawing.Point(390, 341); this.button1.Name = "button1"; this.button1.Size = new System.Drawing.Size(75, 30); this.button1.TabIndex = 3; this.button1.Text = "关闭"; this.button1.UseVisualStyleBackColor = true; this.button1.Click += new System.EventHandler(this.button1_Click); // // dgvPoints // this.dgvPoints.AllowUserToAddRows = false; this.dgvPoints.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.Fill; this.dgvPoints.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; this.dgvPoints.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { this.Column1, this.Column2, this.zAxis, this.btnDel, this.index}); this.dgvPoints.Location = new System.Drawing.Point(12, 12); this.dgvPoints.Name = "dgvPoints"; this.dgvPoints.RowHeadersVisible = false; this.dgvPoints.RowHeadersWidth = 51; this.dgvPoints.RowTemplate.Height = 27; this.dgvPoints.Size = new System.Drawing.Size(453, 314); this.dgvPoints.TabIndex = 2; this.dgvPoints.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvPoints_CellContentClick); // // Column1 // this.Column1.HeaderText = "X"; this.Column1.MinimumWidth = 6; this.Column1.Name = "Column1"; // // Column2 // this.Column2.HeaderText = "Y"; this.Column2.MinimumWidth = 6; this.Column2.Name = "Column2"; // // zAxis // this.zAxis.HeaderText = "Z"; this.zAxis.MinimumWidth = 6; this.zAxis.Name = "zAxis"; this.zAxis.Resizable = System.Windows.Forms.DataGridViewTriState.True; this.zAxis.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; this.zAxis.Text = "设置"; this.zAxis.ToolTipText = "设置"; // // btnDel // this.btnDel.HeaderText = "操作"; this.btnDel.MinimumWidth = 6; this.btnDel.Name = "btnDel"; this.btnDel.Resizable = System.Windows.Forms.DataGridViewTriState.True; this.btnDel.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; this.btnDel.Text = "删除"; this.btnDel.ToolTipText = "删除"; // // index // this.index.HeaderText = "index"; this.index.MinimumWidth = 6; this.index.Name = "index"; this.index.ReadOnly = true; this.index.Visible = false; // // MultiDimensionaDetailDialog // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.ClientSize = new System.Drawing.Size(478, 387); this.Controls.Add(this.button1); this.Controls.Add(this.dgvPoints); this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle; this.MaximizeBox = false; this.MinimizeBox = false; this.Name = "MultiDimensionaDetailDialog"; this.Text = "区域设置"; this.Controls.SetChildIndex(this.dgvPoints, 0); this.Controls.SetChildIndex(this.button1, 0); ((System.ComponentModel.ISupportInitialize)(this.dgvPoints)).EndInit(); this.ResumeLayout(false); } private System.Windows.Forms.Button button1; private System.Windows.Forms.DataGridView dgvPoints; #endregion private void button1_Click(object sender, EventArgs e) { this.Close(); } private void dgvPoints_CellContentClick(object sender, DataGridViewCellEventArgs e) { int pIndex = (int)dgvPoints.Rows[e.RowIndex].Cells[dgvPoints.Columns.Count - 1].Value; if (dgvPoints.Columns[e.ColumnIndex].Name == "btnDel" && e.RowIndex >= 0) { DialogResult result = MessageBox.Show(PdnResources.GetString("Menu.Areyousuretodelete.Text") + "?", PdnResources.GetString("Menu.Tips.text"), MessageBoxButtons.OKCancel); if (result == DialogResult.OK) { ((DrawStithchingBase)this.m_documentWorkspace.GraphicsList[m_index]).DeletePoint(pIndex); this.m_documentWorkspace.Refresh(); dgvPoints.Rows.RemoveAt(e.RowIndex); } } if (dgvPoints.Columns[e.ColumnIndex].Name == "zAxis" && e.RowIndex >= 0) { var zscan = ((DrawStithchingBase)m_documentWorkspace.GraphicsList[m_index]).GetZAxisScan(pIndex); ZAxisSettingDialog zAxisSettingDialog = new ZAxisSettingDialog(pIndex, zscan); zAxisSettingDialog.ZAxisSetting += ZAxisSettingDialog_ZAxisSetting; zAxisSettingDialog.ShowDialog(); } } private void ZAxisSettingDialog_ZAxisSetting(ZScanParameter zScan, int pIndex) { ((DrawStithchingBase)this.m_documentWorkspace.GraphicsList[m_index]).SetZAxisScan(zScan, pIndex); this.m_documentWorkspace.Refresh(); InitDgvPoints(); } } }