SpecialParticleForm.cs 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161
  1. using OTSCommon;
  2. using OTSModelSharp.ServiceCenter;
  3. using System;
  4. using System.Collections;
  5. using System.Collections.Generic;
  6. using System.ComponentModel;
  7. using System.Data;
  8. using System.Drawing;
  9. using System.Linq;
  10. using System.Text;
  11. using System.Threading;
  12. using System.Threading.Tasks;
  13. using System.Windows.Forms;
  14. namespace OTSMeasureApp
  15. {
  16. public partial class SpecialParticleForm : Form
  17. {
  18. private string xmlPath = "";
  19. private string str_RegName = "default";
  20. private string str_start = "0";
  21. private string str_end = "100";
  22. private string str_diameterStart = "0";
  23. private string str_diameterEnd = "100";
  24. OTSIncAMeasureAppForm m_mainForm;
  25. OTSMeasureStatusWindow m_measureStatuWindow;
  26. byte[] m_BseData;
  27. int m_imageWidth;
  28. int m_imageHeight;
  29. //国际化
  30. OTSCommon.Language lan;
  31. Hashtable table;
  32. //the datasource of datagridview
  33. DataSet ds1;
  34. public SpecialParticleForm(string xmlPath, OTSIncAMeasureAppForm mainForm,byte[] bBseData,int width,int height, OTSMeasureStatusWindow measureStatuWindow)
  35. {
  36. InitializeComponent();
  37. this.xmlPath = xmlPath;
  38. m_mainForm = mainForm;
  39. m_measureStatuWindow = measureStatuWindow;
  40. m_BseData = bBseData;
  41. m_imageWidth = width;
  42. m_imageHeight = height;
  43. ShowXmlInfo();
  44. //国际化
  45. lan = new OTSCommon.Language(this);
  46. table = lan.GetNameTable(this.Name);
  47. }
  48. private void ShowXmlInfo()
  49. {
  50. ds1 = XMLoperate.GetXMLRegList(xmlPath, "Member");
  51. if (ds1.Tables.Count > 0)
  52. {
  53. dg1.DataSource = ds1.Tables[0];
  54. var ds2 = XMLoperate.GetXMLRegList(xmlPath, "XMLData");
  55. var ifrun = Convert.ToBoolean(ds2.Tables[0].Rows[0]["ToRun"]);
  56. checkBox1.Checked = ifrun;
  57. }
  58. }
  59. private void button1_Click(object sender, EventArgs e)
  60. {
  61. if (ds1.Tables.Count == 0)
  62. {
  63. var t = new DataTable();
  64. t.Columns.Add(new DataColumn("RegName"));
  65. t.Columns.Add(new DataColumn("start"));
  66. t.Columns.Add(new DataColumn("end"));
  67. t.Columns.Add(new DataColumn("diameterStart"));
  68. t.Columns.Add(new DataColumn("diameterEnd"));
  69. t.Columns.Add(new DataColumn("collectXray"));
  70. ds1.Tables.Add(t);
  71. }
  72. var nr = ds1.Tables[0].NewRow();
  73. nr["RegName"] = str_RegName;
  74. nr["start"] = str_start;
  75. nr["end"] = str_end;
  76. nr["diameterStart"] = str_diameterStart;
  77. nr["diameterEnd"] = str_diameterEnd;
  78. nr["collectXray"] = "false";
  79. ds1.Tables[0].Rows.Add(nr);
  80. dg1.DataSource = ds1.Tables[0];
  81. }
  82. private void button3_Click(object sender, EventArgs e)
  83. {
  84. if (ds1.Tables[0].Rows.Count > 0)
  85. {
  86. ds1.Tables[0].Rows.RemoveAt(dg1.CurrentRow.Index);
  87. }
  88. }
  89. private void dg1_CellContentClick(object sender, DataGridViewCellEventArgs e)
  90. {
  91. if (dg1.Columns[e.ColumnIndex].Name == "rangeChoose" && e.RowIndex >= 0)
  92. {
  93. frmSpecialGrayParticle toolWindow = new frmSpecialGrayParticle(m_mainForm, m_measureStatuWindow);
  94. int grayStart = 0;
  95. int grayEnd = 0;
  96. if (m_BseData != null)
  97. {
  98. Bitmap bitmap = CImageHandler.ToGrayBitmap(m_BseData, m_imageWidth, m_imageHeight);
  99. toolWindow.BseImg = bitmap;
  100. toolWindow.SetBBseData(m_BseData);
  101. grayStart = Convert.ToInt32( dg1.Rows[e.RowIndex].Cells["start"].Value);
  102. grayEnd = Convert.ToInt32(dg1.Rows[e.RowIndex].Cells["end"].Value);
  103. //设置可视化中的属性
  104. toolWindow.BseGrayMinValue = grayStart;
  105. toolWindow.BseGrayMaxValue = grayEnd;
  106. }
  107. DialogResult dialogResult = toolWindow.ShowDialog();
  108. if (dialogResult == DialogResult.OK)
  109. {
  110. dg1.Rows[e.RowIndex].Cells["start"].Value = toolWindow.BseGrayMinValue;
  111. dg1.Rows[e.RowIndex].Cells["end"].Value = toolWindow.BseGrayMaxValue;
  112. }
  113. }
  114. }
  115. private void confirm_Click(object sender, EventArgs e)
  116. {
  117. XMLoperate.UpdateSpecialGrayXMLFile(xmlPath, dg1, checkBox1.Checked);
  118. this.Close();
  119. }
  120. private void button2_Click(object sender, EventArgs e)
  121. {
  122. this.Close();
  123. }
  124. }
  125. }