DetailDialog.cs 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9. using System.Windows.Forms;
  10. namespace PaintDotNet.ImageCollect.ImageStitching
  11. {
  12. public delegate void DeleteHandler(int vIndex, int pIndex);
  13. public partial class DetailDialog : PdnBaseForm
  14. {
  15. private List<Dictionary<int, object>> m_points;
  16. private int m_index;
  17. private DataGridViewTextBoxColumn Column1;
  18. private DataGridViewTextBoxColumn Column2;
  19. private DataGridViewTextBoxColumn Column3;
  20. private DataGridViewButtonColumn btnDel;
  21. private DataGridViewTextBoxColumn index;
  22. List<Dictionary<int, object>> keyValuePairs;
  23. public event DeleteHandler Deleted;
  24. public DetailDialog(List<Dictionary<int, object>> points, int index)
  25. {
  26. this.m_points = points;
  27. this.m_index = index;
  28. InitializeComponent();
  29. //foreach (Dictionary<int, object> point in m_points)
  30. for(int i=0; i< m_points.Count; i++ )
  31. {
  32. Dictionary<int, object> point = m_points[i];
  33. //Console.WriteLine(point[1]);
  34. if (point[1].ToString().Equals("0"))
  35. {
  36. PointF pointF = (PointF)point[0];
  37. dgvPoints.Rows.Add(pointF.X, pointF.Y, 0, "删除", i);
  38. }
  39. }
  40. }
  41. private void button1_Click(object sender, EventArgs e)
  42. {
  43. this.Close();
  44. }
  45. #region 控件
  46. private System.ComponentModel.IContainer components = null;
  47. /// <summary>
  48. /// Clean up any resources being used.
  49. /// </summary>
  50. /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
  51. protected override void Dispose(bool disposing)
  52. {
  53. if (disposing && (components != null))
  54. {
  55. components.Dispose();
  56. }
  57. base.Dispose(disposing);
  58. }
  59. // Windows Form Designer generated code
  60. /// <summary>
  61. /// Required method for Designer support - do not modify
  62. /// the contents of this method with the code editor.
  63. /// </summary>
  64. private void InitializeComponent()
  65. {
  66. this.dgvPoints = new System.Windows.Forms.DataGridView();
  67. this.button1 = new System.Windows.Forms.Button();
  68. this.Column1 = new System.Windows.Forms.DataGridViewTextBoxColumn();
  69. this.Column2 = new System.Windows.Forms.DataGridViewTextBoxColumn();
  70. this.Column3 = new System.Windows.Forms.DataGridViewTextBoxColumn();
  71. this.btnDel = new System.Windows.Forms.DataGridViewButtonColumn();
  72. this.index = new System.Windows.Forms.DataGridViewTextBoxColumn();
  73. ((System.ComponentModel.ISupportInitialize)(this.dgvPoints)).BeginInit();
  74. this.SuspendLayout();
  75. //
  76. // dgvPoints
  77. //
  78. this.dgvPoints.AllowUserToAddRows = false;
  79. this.dgvPoints.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.Fill;
  80. this.dgvPoints.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
  81. this.dgvPoints.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
  82. this.Column1,
  83. this.Column2,
  84. this.Column3,
  85. this.btnDel,
  86. this.index});
  87. this.dgvPoints.Location = new System.Drawing.Point(12, 12);
  88. this.dgvPoints.Name = "dgvPoints";
  89. this.dgvPoints.RowHeadersVisible = false;
  90. this.dgvPoints.RowHeadersWidth = 51;
  91. this.dgvPoints.RowTemplate.Height = 27;
  92. this.dgvPoints.Size = new System.Drawing.Size(453, 314);
  93. this.dgvPoints.TabIndex = 0;
  94. this.dgvPoints.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvPoints_CellContentClick);
  95. //
  96. // button1
  97. //
  98. this.button1.Location = new System.Drawing.Point(390, 341);
  99. this.button1.Name = "button1";
  100. this.button1.Size = new System.Drawing.Size(75, 30);
  101. this.button1.TabIndex = 1;
  102. this.button1.Text = "关闭";
  103. this.button1.UseVisualStyleBackColor = true;
  104. this.button1.Click += new System.EventHandler(this.button1_Click);
  105. //
  106. // Column1
  107. //
  108. this.Column1.HeaderText = "X";
  109. this.Column1.MinimumWidth = 6;
  110. this.Column1.Name = "Column1";
  111. //
  112. // Column2
  113. //
  114. this.Column2.HeaderText = "Y";
  115. this.Column2.MinimumWidth = 6;
  116. this.Column2.Name = "Column2";
  117. //
  118. // Column3
  119. //
  120. this.Column3.HeaderText = "Z";
  121. this.Column3.MinimumWidth = 6;
  122. this.Column3.Name = "Column3";
  123. //
  124. // btnDel
  125. //
  126. this.btnDel.HeaderText = "操作";
  127. this.btnDel.MinimumWidth = 6;
  128. this.btnDel.Name = "btnDel";
  129. this.btnDel.Resizable = System.Windows.Forms.DataGridViewTriState.True;
  130. this.btnDel.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
  131. this.btnDel.Text = "删除";
  132. this.btnDel.ToolTipText = "删除";
  133. //
  134. // index
  135. //
  136. this.index.HeaderText = "index";
  137. this.index.MinimumWidth = 6;
  138. this.index.Name = "index";
  139. this.index.ReadOnly = true;
  140. this.index.Visible = false;
  141. //
  142. // DetailDialog
  143. //
  144. this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 15F);
  145. this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
  146. this.ClientSize = new System.Drawing.Size(477, 383);
  147. this.Controls.Add(this.button1);
  148. this.Controls.Add(this.dgvPoints);
  149. this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
  150. this.MaximizeBox = false;
  151. this.MinimizeBox = false;
  152. this.Name = "DetailDialog";
  153. this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
  154. this.Text = "区域设置";
  155. this.Controls.SetChildIndex(this.dgvPoints, 0);
  156. this.Controls.SetChildIndex(this.button1, 0);
  157. ((System.ComponentModel.ISupportInitialize)(this.dgvPoints)).EndInit();
  158. this.ResumeLayout(false);
  159. }
  160. private System.Windows.Forms.DataGridView dgvPoints;
  161. private System.Windows.Forms.Button button1;
  162. #endregion
  163. private void dgvPoints_CellContentClick(object sender, DataGridViewCellEventArgs e)
  164. {
  165. if (dgvPoints.Columns[e.ColumnIndex].Name == "btnDel" && e.RowIndex >= 0)
  166. {
  167. DialogResult result = MessageBox.Show("确定要删除吗?", "温馨提示", MessageBoxButtons.OKCancel);
  168. if (result == DialogResult.OK)
  169. {
  170. if (this.Deleted != null)
  171. {
  172. int pIndex = (int)dgvPoints.Rows[e.RowIndex].Cells[e.ColumnIndex + 1].Value;
  173. this.Deleted(m_index, pIndex);
  174. }
  175. dgvPoints.Rows.RemoveAt(e.RowIndex);
  176. }
  177. }
  178. }
  179. }
  180. }