ImageStitchingDetailDialog.cs 8.0 KB

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