SpecialParticleForm.cs 9.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226
  1. using OTSCommon;
  2. using System;
  3. using System.Collections;
  4. using System.Collections.Generic;
  5. using System.ComponentModel;
  6. using System.Data;
  7. using System.Drawing;
  8. using System.Linq;
  9. using System.Text;
  10. using System.Threading;
  11. using System.Threading.Tasks;
  12. using System.Windows.Forms;
  13. namespace OTSMeasureApp._7_OTSProgMgrInfo
  14. {
  15. public partial class SpecialParticleForm : Form
  16. {
  17. private string xmlPath = "";
  18. private string str_RegName = "default";
  19. private string str_start = "0";
  20. private string str_end = "100";
  21. private string str_diameterStart = "0";
  22. private string str_diameterEnd = "100";
  23. private string str_collectXray = "false";
  24. //国际化
  25. OTSCommon.Language lan;
  26. Hashtable table;
  27. public delegate void MyInvoke();
  28. public void DoWork()
  29. {
  30. MyInvoke mi = new MyInvoke(ShowXmlInfo);
  31. this.BeginInvoke(mi);
  32. }
  33. public SpecialParticleForm(string xmlPath)
  34. {
  35. InitializeComponent();
  36. this.xmlPath = xmlPath;
  37. ShowXmlInfo();
  38. //国际化
  39. lan = new OTSCommon.Language(this);
  40. table = lan.GetNameTable(this.Name);
  41. }
  42. private void ShowXmlInfo()
  43. {
  44. DataSet dataSet = XMLoperate.GetXMLRegList(xmlPath, "Member");
  45. dataGridView_xml.DataSource = dataSet.Tables[0];
  46. }
  47. private void dataGridView_xml_CellValueChanged(object sender, DataGridViewCellEventArgs e)
  48. {
  49. if (e.RowIndex == -1 || e.ColumnIndex == -1)
  50. {
  51. return;
  52. }
  53. if (e.RowIndex == dataGridView_xml.Rows.Count - 1)
  54. {
  55. return;
  56. }
  57. switch (e.ColumnIndex)
  58. {
  59. case 0://名称
  60. {
  61. for (int i = 0; i < dataGridView_xml.Rows.Count - 1; i++)
  62. {
  63. if (i != e.RowIndex)
  64. {
  65. if (dataGridView_xml.Rows[i].Cells[e.ColumnIndex].Value.ToString() == dataGridView_xml.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString())
  66. {
  67. dataGridView_xml.Rows[e.RowIndex].Cells[e.ColumnIndex].Value += "_1";
  68. break;
  69. }
  70. }
  71. }
  72. if (dataGridView_xml.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString() == "")
  73. {
  74. dataGridView_xml.Rows[e.RowIndex].Cells[e.ColumnIndex].Value += "unknow";
  75. }
  76. break;
  77. }
  78. case 1://开始灰度
  79. {
  80. int result = 0;
  81. int.TryParse(dataGridView_xml.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString(), out result);
  82. if (result == 0)
  83. {
  84. dataGridView_xml.Rows[e.RowIndex].Cells[e.ColumnIndex].Value = "0";
  85. }
  86. else
  87. {
  88. if (int.Parse(dataGridView_xml.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString()) > int.Parse(dataGridView_xml.Rows[e.RowIndex].Cells[2].Value.ToString()))
  89. {
  90. dataGridView_xml.Rows[e.RowIndex].Cells[e.ColumnIndex].Value = dataGridView_xml.Rows[e.RowIndex].Cells[2].Value.ToString();
  91. }
  92. else if (int.Parse(dataGridView_xml.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString()) < 0 || int.Parse(dataGridView_xml.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString()) > 255)
  93. {
  94. dataGridView_xml.Rows[e.RowIndex].Cells[e.ColumnIndex].Value = "0";
  95. }
  96. }
  97. break;
  98. }
  99. case 2://结束灰度
  100. {
  101. int result = 0;
  102. int.TryParse(dataGridView_xml.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString(), out result);
  103. if (result == 0)
  104. {
  105. dataGridView_xml.Rows[e.RowIndex].Cells[e.ColumnIndex].Value = "0";
  106. }
  107. else
  108. {
  109. if (int.Parse(dataGridView_xml.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString()) < int.Parse(dataGridView_xml.Rows[e.RowIndex].Cells[1].Value.ToString()))
  110. {
  111. dataGridView_xml.Rows[e.RowIndex].Cells[e.ColumnIndex].Value = dataGridView_xml.Rows[e.RowIndex].Cells[1].Value.ToString();
  112. }
  113. else if (int.Parse(dataGridView_xml.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString()) < 0 || int.Parse(dataGridView_xml.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString()) > 255)
  114. {
  115. dataGridView_xml.Rows[e.RowIndex].Cells[e.ColumnIndex].Value = "0";
  116. }
  117. }
  118. break;
  119. }
  120. case 3: //开始直径
  121. {
  122. int result = 0;
  123. int.TryParse(dataGridView_xml.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString(), out result);
  124. if (result == 0)
  125. {
  126. dataGridView_xml.Rows[e.RowIndex].Cells[e.ColumnIndex].Value = "0";
  127. }
  128. else
  129. {
  130. if (int.Parse(dataGridView_xml.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString()) > int.Parse(dataGridView_xml.Rows[e.RowIndex].Cells[4].Value.ToString()))
  131. {
  132. dataGridView_xml.Rows[e.RowIndex].Cells[e.ColumnIndex].Value = dataGridView_xml.Rows[e.RowIndex].Cells[4].Value.ToString();
  133. }
  134. else if (int.Parse(dataGridView_xml.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString()) < 0 || int.Parse(dataGridView_xml.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString()) > 255)
  135. {
  136. dataGridView_xml.Rows[e.RowIndex].Cells[e.ColumnIndex].Value = "0";
  137. }
  138. }
  139. break;
  140. }
  141. case 4: //结束直径
  142. {
  143. int result = 0;
  144. int.TryParse(dataGridView_xml.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString(), out result);
  145. if (result == 0)
  146. {
  147. dataGridView_xml.Rows[e.RowIndex].Cells[e.ColumnIndex].Value = "0";
  148. }
  149. else
  150. {
  151. if (int.Parse(dataGridView_xml.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString()) < int.Parse(dataGridView_xml.Rows[e.RowIndex].Cells[3].Value.ToString()))
  152. {
  153. dataGridView_xml.Rows[e.RowIndex].Cells[e.ColumnIndex].Value = dataGridView_xml.Rows[e.RowIndex].Cells[3].Value.ToString();
  154. }
  155. else if (int.Parse(dataGridView_xml.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString()) < 0 || int.Parse(dataGridView_xml.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString()) > 255)
  156. {
  157. dataGridView_xml.Rows[e.RowIndex].Cells[e.ColumnIndex].Value = "0";
  158. }
  159. }
  160. break;
  161. }
  162. case 5: //是否采集Xray
  163. {
  164. bool result = false;
  165. bool.TryParse(dataGridView_xml.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString(), out result);
  166. if (result == false)
  167. {
  168. dataGridView_xml.Rows[e.RowIndex].Cells[e.ColumnIndex].Value = "false";
  169. }
  170. break;
  171. }
  172. default:
  173. break;
  174. }
  175. if (dataGridView_xml.Rows[e.RowIndex].Cells[0].Value.ToString() != "")
  176. {
  177. XMLoperate.UpdateXMLRegList(xmlPath, "Member", e.RowIndex.ToString(), dataGridView_xml.Columns[e.ColumnIndex].Name, dataGridView_xml.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString());
  178. }
  179. }
  180. private void dataGridView_xml_DefaultValuesNeeded(object sender, DataGridViewRowEventArgs e)
  181. {
  182. e.Row.Cells["RegName"].Value = str_RegName;
  183. e.Row.Cells["start"].Value = str_start;
  184. e.Row.Cells["end"].Value = str_end;
  185. e.Row.Cells["diameterStart"].Value = str_diameterStart;
  186. e.Row.Cells["diameterEnd"].Value = str_diameterEnd;
  187. e.Row.Cells["collectXray"].Value = str_collectXray;
  188. XMLoperate.AddXMLRegList(xmlPath, str_RegName, str_start, str_end, str_diameterStart, str_diameterEnd, str_collectXray);
  189. Thread thread = new Thread(DoWork);
  190. thread.Start();
  191. }
  192. private void dataGridView_xml_UserDeletingRow(object sender, DataGridViewRowCancelEventArgs e)
  193. {
  194. XMLoperate.DeleteXMLRegList(xmlPath, "Member", e.Row.Index);
  195. Thread thread = new Thread(DoWork);
  196. thread.Start();
  197. }
  198. }
  199. }