frmReportApp.cs 51 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274
  1. using CefSharp;
  2. using CefSharp.WinForms;
  3. using OTS.WinFormsUI.Docking;
  4. using OTSIncAReportApp.OTSDataMgrFunction;
  5. using OTSIncAReportApp.OTSRibbon;
  6. using OTSIncAReportApp.OTSSampleReportInfo;
  7. using OTSIncAReportApp.SysMgrTools;
  8. using OTSIncAReprotCharts;
  9. using System;
  10. using System.Collections;
  11. using System.Collections.Generic;
  12. using System.Data;
  13. using System.Diagnostics;
  14. using System.Drawing;
  15. using System.IO;
  16. using System.Windows.Forms;
  17. namespace OTSIncAReportApp
  18. {
  19. /// <summary>
  20. /// 报告主窗体类
  21. /// </summary>
  22. public partial class frmReportApp : Form
  23. {
  24. #region 共享窗体对象--------------------------------------------------------------------------------------
  25. public frmMeasureRstMgr m_RstWindow = null; //测量结果,树控件窗体,属性Grid窗体
  26. public frmReportConditionChoose m_conditionChoose = null; //属性Grid窗体
  27. public frmSampleImage m_SImageWindow = null; //BSE窗体
  28. public frmCharts m_ChartsWindow = null; //图表窗体
  29. public frmTables m_TablesWindow = null; //报表窗体
  30. public frmReportSysConfig m_ReportSysConfigForm; //配置参数窗体
  31. #endregion //-----------------------------------------------------------------------------------------------
  32. #region 报告类结构相关------------------------------------------------------------------------------------
  33. NLog.Logger log;
  34. public OutputNlog m_OutputNlog; //日志类对象
  35. public ResultDataMgr m_rstDataMgr = null; //DataMgrFun 对象, 此类是和调用C++ DataMGR交互数据
  36. public OTSRibbonFun m_RibbonFun = null; //报告菜单相关操作类
  37. public string m_OTSReportMgrParamFile = ResultDataMgr.m_ReportMgrParamFile; //报告对应使用的参数文件名
  38. //测量结果ID
  39. //当前工作结果
  40. public List<DataOperation.Model.Particle> SelectedParticles = new List<DataOperation.Model.Particle>(); //所有选择颗粒
  41. public string MoreSource = "";
  42. Hashtable table; //国际化表
  43. string[] m_str_resultfilepaths;
  44. #endregion //-----------------------------------------------------------------------------------------------
  45. #region EChart相关变量------------------------------------------------------------------------------------
  46. //定义浏览器
  47. public CefSharp.WinForms.ChromiumWebBrowser browser;
  48. public CefSharp.WinForms.ChromiumWebBrowser browsermore;//多测量结果对比时使用
  49. public bool more = false;
  50. public bool trans = false;
  51. //定义浏览器
  52. public CefSharp.WinForms.ChromiumWebBrowser browser_trio;
  53. public CefSharp.WinForms.ChromiumWebBrowser browser_triomore;//多测量结果对比时使用
  54. public class JsEvent
  55. {
  56. public string MessageText { set; get; }
  57. public void ShowTest()
  58. {
  59. MessageBox.Show(MessageText);
  60. }
  61. }
  62. public JsEvent js = new JsEvent();
  63. public string m_reportname;
  64. public string data;
  65. public string type;
  66. public bool timerKG;
  67. #endregion //------------------------------------------------------------------------------------------------
  68. #region 各功能模块窗体 -----------------------------------------------------------------------------------
  69. /// <summary>
  70. /// 颗粒分布图
  71. /// </summary>
  72. public OTSIncAReportGraph.Controls.Control_DrawDistrbutionImageAndBSE im_Control_DrawDistrbutionImageAndBSE = null;
  73. /// <summary>
  74. /// 颗粒排序图
  75. /// </summary>
  76. public OTSIncAReportGraph.Controls.Control_DrawDistrbutionSortImage im_Control_DrawDistrbutionSortImage = null;
  77. /// <summary>
  78. /// 颗粒列表_分页
  79. /// </summary>
  80. public OTSIncAReportGrids.ParticlesGridDevidePage im_ParticlesGridDevidePage = null;
  81. /// <summary>
  82. /// 颗粒成份分布表
  83. /// </summary>
  84. public OTSIncAReportGrids.CompositionDistributionGrid im_CompositionDistributionGrid = null;
  85. /// <summary>
  86. /// 平均元素含量表
  87. /// </summary>
  88. public OTSIncAReportGrids.ElementCompositionAvgGrid im_ElementCompositionAvgGrid = null;
  89. /// <summary>
  90. /// 元素含量表
  91. /// </summary>
  92. public OTSIncAReportGrids.ElementContentGrid im_ElementContentGrid = null;
  93. /// <summary>
  94. /// 颗粒尺寸表
  95. /// </summary>
  96. public OTSIncAReportGrids.ParticlesSizeGrid im_ParticlesSizeGrid = null;
  97. /// <summary>
  98. /// 测量结果概况
  99. /// </summary>
  100. public OTSIncAReportGrids.ResultGrid im_ResultGrid = null;
  101. /// <summary>
  102. /// 颗粒成份图EChart
  103. /// </summary>
  104. public Control_ECharts.EChart_ParticlesComposition im_EChart_ParticlesComposition = null;
  105. /// <summary>
  106. /// 三元相图EChart
  107. /// </summary>
  108. public Control_ECharts.EChart_Trianglediagram im_EChart_Trianglediagram = null;
  109. /// <summary>
  110. /// 国标信息表方法一
  111. /// </summary>
  112. public OTSIncAReportGB.ChineseStandardABCDDS im_ChineseStandardABCDDS = null;
  113. /// <summary>
  114. /// 国标信息表方法二
  115. /// </summary>
  116. public OTSIncAReportGB.NationalStandardMethodTwo im_NationalStandardMethodTwo = null;
  117. /// <summary>
  118. /// 美标
  119. /// </summary>
  120. public OTSIncAReportGB.ASTMStandardABCDDS im_ASTMStandardABCDDS = null;
  121. /// <summary>
  122. /// 德标
  123. /// </summary>
  124. public OTSIncAReportGB.DINStandardABCDDS im_DINStandardABCDDS = null;
  125. #endregion //--------------------------------------------------------------------------------------------
  126. #region 窗体初始化及构造函数
  127. /// <summary>
  128. /// 窗体构造函数
  129. /// </summary>
  130. public frmReportApp()
  131. {
  132. InitializeComponent();
  133. //初始化Ribbon类,操作Ribbon按钮的可用或者不可用
  134. m_RibbonFun = new OTSRibbonFun(this);
  135. //和DataMgr进行数据交互类
  136. m_rstDataMgr = new ResultDataMgr(this);
  137. //配置文件管理窗体
  138. m_ReportSysConfigForm = new frmReportSysConfig(this);
  139. //属性窗口
  140. m_conditionChoose = new frmReportConditionChoose(this);
  141. //树窗口
  142. m_RstWindow = new frmMeasureRstMgr(this);
  143. //分布图,排列图窗体
  144. m_SImageWindow = new frmSampleImage(this);
  145. //chart图表窗体
  146. m_ChartsWindow = new frmCharts(this);
  147. //grid表格窗体
  148. m_TablesWindow = new frmTables(this);
  149. SetTag();
  150. #region 国际化语言
  151. Language lan = new Language(this);
  152. table = lan.GetNameTable(this.Name);
  153. #endregion
  154. }
  155. /// <summary>
  156. /// 为生成后没有Name的控件添加标签,为了国际化语言设置时可以找到这个控件
  157. /// </summary>
  158. protected void SetTag()
  159. {
  160. ribbonPanel3.Tag = "ribbonPanel3";
  161. ribbonPanel2.Tag = "ribbonPanel2";
  162. rbSelTool.Tag = "rbSelTool";
  163. rbChoiceTools.Tag = "rbChoiceTools";
  164. ribbonTab1.Tag = "ribbonTab1";
  165. rbMenu.Tag = "rbMenu";
  166. dpbOpen.Tag = "dpbOpen";
  167. dpbExport.Tag = "dpbExport";
  168. dpbCopy.Tag = "dpbCopy";
  169. dpbCopyAll.Tag = "dpbCopyAll";
  170. ribbonOrbOptionButton1.Tag = "ribbonOrbOptionButton1";
  171. ribbonOrbMenuItem_Extremum.Tag = "ribbonOrbMenuItem_Extremum";
  172. }
  173. /// <summary>
  174. /// 窗体构造函数,可接收多个测量结果文件
  175. /// </summary>
  176. public frmReportApp(string[] str_resultfilepaths)
  177. {
  178. m_str_resultfilepaths = str_resultfilepaths;
  179. InitializeComponent();
  180. log = NLog.LogManager.GetCurrentClassLogger();
  181. //初始化Ribbon类,操作Ribbon按钮的可用或者不可用
  182. m_RibbonFun = new OTSRibbonFun(this);
  183. //和DataMgr进行数据交互类
  184. m_rstDataMgr = new ResultDataMgr(this);//必须放在new frmReportSysConfig(this)前
  185. //配置文件管理窗体
  186. m_ReportSysConfigForm = new frmReportSysConfig(this);
  187. //属性窗口
  188. m_conditionChoose = new frmReportConditionChoose(this);
  189. //树窗口
  190. m_RstWindow = new frmMeasureRstMgr(this);
  191. //分布图,排列图窗体
  192. m_SImageWindow = new frmSampleImage(this);
  193. //chart图表窗体
  194. m_ChartsWindow = new frmCharts(this);
  195. //grid表格窗体
  196. m_TablesWindow = new frmTables(this);
  197. //初始化图形组件中返回的颗粒列表对象
  198. SelectedParticles = new List<DataOperation.Model.Particle>();
  199. SetTag();
  200. #region 国际化语言
  201. Language lan = new Language(this);
  202. table = lan.GetNameTable(this.Name);
  203. #endregion
  204. }
  205. /// <summary>
  206. /// 报告主窗体加载事件
  207. /// </summary>
  208. /// <param name="sender"></param>
  209. /// <param name="e"></param>
  210. private void OTSReportApp_Load(object sender, EventArgs e)
  211. {
  212. //------------- initialize the HMI of the main form.
  213. if (Cef.IsInitialized == false)
  214. {
  215. var settings = new CefSettings();
  216. settings.Locale = "zh-CN";
  217. settings.CefCommandLineArgs.Add("disable-gpu", "1");
  218. Cef.Initialize(settings);
  219. }
  220. //加载配置文件
  221. m_rstDataMgr.m_RptConfigFile.LoadDataFromFile();
  222. //设置菜单按钮,都为true状态
  223. m_RibbonFun.SetAllRibbonButnStatu(false);
  224. //创建,树窗口,属性grid窗口,分布图,grid,chart窗体等。
  225. CreateNewWorkspaceWindow();
  226. //激活测量结果窗体
  227. this.m_RstWindow.Activate();
  228. //激活分布图窗体
  229. this.m_SImageWindow.Activate();
  230. //----------------end the initialization
  231. log = NLog.LogManager.GetCurrentClassLogger();
  232. if (m_str_resultfilepaths != null)
  233. {
  234. //构造函数直接接收传入的测量结果文件,并加载
  235. for (int i = 0; i < m_str_resultfilepaths.Length; i++)
  236. {
  237. this.m_RstWindow.AddSampleResult(m_str_resultfilepaths[i].Replace("^", " "));
  238. }
  239. }
  240. }
  241. #endregion
  242. #region Ribbon菜单按钮及菜单相关按按钮事件
  243. /// <summary>
  244. /// 新建按钮事件
  245. /// </summary>
  246. /// <param name="sender"></param>
  247. /// <param name="e"></param>
  248. private void ribTitleNewFile_Click(object sender, EventArgs e)
  249. {
  250. InitReportProState();
  251. }
  252. /// <summary>
  253. /// 初始伦报告加载
  254. /// </summary>
  255. public void InitReportProState()
  256. {
  257. //清除树窗体
  258. m_RstWindow.treeView1.Nodes.Clear();
  259. //清除属性Grid
  260. m_conditionChoose.m_ConditionGrid = new OTSSourceGrid(m_conditionChoose);
  261. m_rstDataMgr.ResultFilesList.Clear();
  262. //清除各模块报表文件
  263. m_ChartsWindow.Controls.Clear();
  264. m_TablesWindow.Controls.Clear();
  265. m_SImageWindow.Controls.Clear();
  266. //再重新初始化下拉菜单和ribbon菜单中的按钮状态
  267. m_RibbonFun.SetAllRibbonButnStatu(false);
  268. im_Control_DrawDistrbutionImageAndBSE = null;
  269. im_Control_DrawDistrbutionSortImage = null;
  270. im_ParticlesGridDevidePage = null;
  271. im_CompositionDistributionGrid = null;
  272. im_ElementCompositionAvgGrid = null;
  273. im_ElementContentGrid = null;
  274. im_ParticlesSizeGrid = null;
  275. im_ResultGrid = null;
  276. }
  277. /// <summary>
  278. /// 程序管理按钮点击事件
  279. /// </summary>
  280. /// <param name="sender"></param>
  281. /// <param name="e"></param>
  282. private void RibbonOrbOptionButton1_Click(object sender, EventArgs e)
  283. {
  284. //程序管理
  285. m_ReportSysConfigForm.ShowDialog();
  286. }
  287. /// <summary>
  288. /// 打开报告项目文件按钮事件
  289. /// </summary>
  290. /// <param name="sender"></param>
  291. /// <param name="e"></param>
  292. private void rbOpen_Click(object sender, EventArgs e)
  293. {
  294. string path = "";
  295. OpenFileDialog fileDialog = new OpenFileDialog();
  296. fileDialog.Filter = "text File|*.rst";
  297. fileDialog.RestoreDirectory = true;
  298. if (fileDialog.ShowDialog() == DialogResult.OK)
  299. path = System.IO.Path.GetFullPath(fileDialog.FileName);
  300. log.Info("begin to load the result!");
  301. this.m_RstWindow.AddSampleResult(path);
  302. }
  303. /// <summary>
  304. /// 模板导出按钮事件
  305. /// </summary>
  306. /// <param name="sender"></param>
  307. /// <param name="e"></param>
  308. private void rbOut_Click(object sender, EventArgs e)
  309. {
  310. OTSReport_Export oe = new OTSReport_Export(this);
  311. oe.ShowDialog();
  312. }
  313. /// <summary>
  314. /// 全图匹配按钮事件
  315. /// </summary>
  316. /// <param name="sender"></param>
  317. /// <param name="e"></param>
  318. private void rbAllImage_Click(object sender, EventArgs e)
  319. {
  320. int tabIndex = (int)(m_conditionChoose.tabIndex);
  321. switch (tabIndex)
  322. {
  323. case (int)DisplayPicutureType.AnalyzeImg:
  324. //int idx = m_DataMgrFun.GetPropIndexByPropItemName(SourceGridData.ConditionItemList, OTSSampleReportInfo.OTS_REPORT_PROP_GRID_ITEMS.IMAGE_DISPLAY_TYPE);
  325. //int imgDisType = SourceGridData.ConditionItemList[idx].comboDownList.IndexOf(SourceGridData.ConditionItemList[idx].itemVal.ToString());
  326. int imgDisType=m_conditionChoose.m_SourceGridData.GetComboDownListIndexByItemName(OTS_REPORT_PROP_GRID_ITEMS.IMAGE_DISPLAY_TYPE);
  327. if (imgDisType == 0)
  328. {
  329. if (im_Control_DrawDistrbutionImageAndBSE != null)
  330. {
  331. //分布图
  332. im_Control_DrawDistrbutionImageAndBSE.FullGraphMatch();
  333. im_Control_DrawDistrbutionImageAndBSE.Invalidate();
  334. }
  335. }
  336. else
  337. {
  338. if (im_Control_DrawDistrbutionSortImage != null)
  339. {
  340. //排列图
  341. }
  342. }
  343. break;
  344. case (int)DisplayPicutureType.AnalyzeDataTable:
  345. break;
  346. case (int)DisplayPicutureType.AnalyzeDataChart:
  347. break;
  348. default:
  349. break;
  350. }
  351. }
  352. /// <summary>
  353. /// 宽度匹配按钮事件
  354. /// </summary>
  355. /// <param name="sender"></param>
  356. /// <param name="e"></param>
  357. private void rbWidthImage_Click(object sender, EventArgs e)
  358. {
  359. int tabIndex = (int)(m_conditionChoose.tabIndex);
  360. switch (tabIndex)
  361. {
  362. case (int)DisplayPicutureType.AnalyzeImg:
  363. //int idx = m_DataMgrFun.GetPropIndexByPropItemName(SourceGridData.ConditionItemList, OTSSampleReportInfo.OTS_REPORT_PROP_GRID_ITEMS.IMAGE_DISPLAY_TYPE);
  364. //int imgDisType = SourceGridData.ConditionItemList[idx].comboDownList.IndexOf(SourceGridData.ConditionItemList[idx].itemVal.ToString());
  365. int imgDisType = m_conditionChoose.m_SourceGridData.GetComboDownListIndexByItemName(OTS_REPORT_PROP_GRID_ITEMS.IMAGE_DISPLAY_TYPE);
  366. if (imgDisType == 0)
  367. {
  368. if (im_Control_DrawDistrbutionImageAndBSE != null)
  369. {
  370. //分布图
  371. im_Control_DrawDistrbutionImageAndBSE.WidthMatch();
  372. im_Control_DrawDistrbutionImageAndBSE.Invalidate();
  373. }
  374. }
  375. else
  376. {
  377. if (im_Control_DrawDistrbutionSortImage != null)
  378. {
  379. //排列图
  380. }
  381. }
  382. break;
  383. case (int)DisplayPicutureType.AnalyzeDataTable:
  384. break;
  385. case (int)DisplayPicutureType.AnalyzeDataChart:
  386. break;
  387. default:
  388. break;
  389. }
  390. }
  391. /// <summary>
  392. /// 帧图边框按钮事件
  393. /// </summary>
  394. /// <param name="sender"></param>
  395. /// <param name="e"></param>
  396. private void rbFrame_Click(object sender, EventArgs e)
  397. {
  398. int tabIndex = (int)(m_conditionChoose.tabIndex);
  399. switch (tabIndex)
  400. {
  401. case (int)DisplayPicutureType.AnalyzeImg:
  402. //int idx = m_DataMgrFun.GetPropIndexByPropItemName(SourceGridData.ConditionItemList, OTSSampleReportInfo.OTS_REPORT_PROP_GRID_ITEMS.IMAGE_DISPLAY_TYPE);
  403. //int imgDisType = SourceGridData.ConditionItemList[idx].comboDownList.IndexOf(SourceGridData.ConditionItemList[idx].itemVal.ToString());
  404. int imgDisType = m_conditionChoose.m_SourceGridData.GetComboDownListIndexByItemName(OTS_REPORT_PROP_GRID_ITEMS.IMAGE_DISPLAY_TYPE);
  405. if (imgDisType == 0)
  406. {
  407. if (im_Control_DrawDistrbutionImageAndBSE != null)
  408. {
  409. //分布图
  410. im_Control_DrawDistrbutionImageAndBSE.ShowGridLine();
  411. im_Control_DrawDistrbutionImageAndBSE.Invalidate();
  412. }
  413. }
  414. else
  415. {
  416. if (im_Control_DrawDistrbutionSortImage != null)
  417. {
  418. }
  419. }
  420. break;
  421. case (int)DisplayPicutureType.AnalyzeDataTable:
  422. break;
  423. case (int)DisplayPicutureType.AnalyzeDataChart:
  424. break;
  425. default:
  426. break;
  427. }
  428. }
  429. /// <summary>
  430. /// 标尺按钮事件
  431. /// </summary>
  432. /// <param name="sender"></param>
  433. /// <param name="e"></param>
  434. private void rbStaff_Click(object sender, EventArgs e)
  435. {
  436. int tabIndex = (int)(m_conditionChoose.tabIndex);
  437. switch (tabIndex)
  438. {
  439. case (int)DisplayPicutureType.AnalyzeImg:
  440. //int idx = m_DataMgrFun.GetPropIndexByPropItemName(SourceGridData.ConditionItemList, OTSSampleReportInfo.OTS_REPORT_PROP_GRID_ITEMS.IMAGE_DISPLAY_TYPE);
  441. //int imgDisType = SourceGridData.ConditionItemList[idx].comboDownList.IndexOf(SourceGridData.ConditionItemList[idx].itemVal.ToString());
  442. int imgDisType = m_conditionChoose.m_SourceGridData.GetComboDownListIndexByItemName(OTS_REPORT_PROP_GRID_ITEMS.IMAGE_DISPLAY_TYPE);
  443. if (imgDisType == 0)
  444. {
  445. if (im_Control_DrawDistrbutionImageAndBSE != null)
  446. {
  447. //分布图
  448. im_Control_DrawDistrbutionImageAndBSE.ShowRulerControl();
  449. im_Control_DrawDistrbutionImageAndBSE.Invalidate();
  450. }
  451. }
  452. else
  453. {
  454. if (im_Control_DrawDistrbutionSortImage != null)
  455. {
  456. im_Control_DrawDistrbutionSortImage.ShowRulerControl();
  457. im_Control_DrawDistrbutionSortImage.Invalidate();
  458. }
  459. }
  460. break;
  461. case (int)DisplayPicutureType.AnalyzeDataTable:
  462. break;
  463. case (int)DisplayPicutureType.AnalyzeDataChart:
  464. break;
  465. default:
  466. break;
  467. }
  468. }
  469. /// <summary>
  470. /// 恢复按钮事件
  471. /// </summary>
  472. /// <param name="sender"></param>
  473. /// <param name="e"></param>
  474. private void rbRenew_Click(object sender, EventArgs e)
  475. {
  476. int tabIndex = (int)m_conditionChoose.tabIndex;
  477. //int idx = m_DataMgrFun.GetPropIndexByPropItemName(SourceGridData.ConditionItemList, OTSSampleReportInfo.OTS_REPORT_PROP_GRID_ITEMS.IMAGE_DISPLAY_TYPE);
  478. //int DisType = SourceGridData.ConditionItemList[idx].comboDownList.IndexOf(SourceGridData.ConditionItemList[idx].itemVal.ToString());
  479. int DisType = m_conditionChoose.m_SourceGridData.GetComboDownListIndexByItemName(OTS_REPORT_PROP_GRID_ITEMS.IMAGE_DISPLAY_TYPE);
  480. switch (tabIndex)
  481. {
  482. case (int)DisplayPicutureType.AnalyzeImg:
  483. if (DisType == (int)IMAGE_DISPLAY_TYPE.DISTRIBUTION)
  484. {
  485. if (im_Control_DrawDistrbutionImageAndBSE != null)
  486. {
  487. //分布图
  488. im_Control_DrawDistrbutionImageAndBSE.ShowRulerControl(false);
  489. im_Control_DrawDistrbutionImageAndBSE.ShowGridLine(false);
  490. im_Control_DrawDistrbutionImageAndBSE.Invalidate();
  491. m_SImageWindow.Controls.Clear();
  492. im_Control_DrawDistrbutionImageAndBSE = new OTSIncAReportGraph.Controls.Control_DrawDistrbutionImageAndBSE(this);
  493. im_Control_DrawDistrbutionImageAndBSE.Dock = DockStyle.Fill;
  494. m_SImageWindow.Controls.Add(im_Control_DrawDistrbutionImageAndBSE);
  495. m_SImageWindow.Activate();
  496. im_Control_DrawDistrbutionImageAndBSE.ShowSourceName = "";
  497. im_Control_DrawDistrbutionImageAndBSE.DrawDistrbutionImageAndBSE_ByQuery(m_conditionChoose.m_SourceGridData);
  498. im_Control_DrawDistrbutionImageAndBSE.SetSelectParticle(SelectedParticles);
  499. //并删除排列图
  500. im_Control_DrawDistrbutionSortImage = null;
  501. }
  502. }
  503. if (DisType == (int)IMAGE_DISPLAY_TYPE.IMAGE_GRID)
  504. {
  505. if (im_Control_DrawDistrbutionSortImage != null)
  506. {
  507. //排序图
  508. im_Control_DrawDistrbutionSortImage.ShowRulerControl(false);
  509. im_Control_DrawDistrbutionSortImage.Invalidate();
  510. m_SImageWindow.Controls.Clear();
  511. im_Control_DrawDistrbutionSortImage = new OTSIncAReportGraph.Controls.Control_DrawDistrbutionSortImage(this);
  512. im_Control_DrawDistrbutionSortImage.Dock = DockStyle.Fill;
  513. m_SImageWindow.Controls.Add(im_Control_DrawDistrbutionSortImage);
  514. m_SImageWindow.Activate();
  515. im_Control_DrawDistrbutionSortImage.ShowSourceName = "";
  516. im_Control_DrawDistrbutionSortImage.GetDistrbutionSortimage_ByQuery(m_conditionChoose.m_CurrentConditions);
  517. im_Control_DrawDistrbutionSortImage.SetSelectParticle(SelectedParticles);
  518. }
  519. }
  520. break;
  521. case (int)DisplayPicutureType.AnalyzeDataTable:
  522. break;
  523. case (int)DisplayPicutureType.AnalyzeDataChart:
  524. break;
  525. default:
  526. break;
  527. }
  528. }
  529. /// <summary>
  530. /// 反选操作按钮事件
  531. /// </summary>
  532. /// <param name="sender"></param>
  533. /// <param name="e"></param>
  534. private void rbReverseSelection_Click(object sender, EventArgs e)
  535. {
  536. int tabIndex = (int)(m_conditionChoose.tabIndex);
  537. switch (tabIndex)
  538. {
  539. case (int)DisplayPicutureType.AnalyzeImg:
  540. //int idx = m_DataMgrFun.GetPropIndexByPropItemName(SourceGridData.ConditionItemList, OTSIncAReportApp.OTSSampleReportInfo.OTS_REPORT_PROP_GRID_ITEMS.IMAGE_DISPLAY_TYPE);
  541. //int imgDisType = SourceGridData.ConditionItemList[idx].comboDownList.IndexOf(SourceGridData.ConditionItemList[idx].itemVal.ToString());
  542. int imgDisType = m_conditionChoose.m_SourceGridData.GetComboDownListIndexByItemName(OTS_REPORT_PROP_GRID_ITEMS.IMAGE_DISPLAY_TYPE);
  543. if (imgDisType == 0)
  544. {
  545. if (im_Control_DrawDistrbutionImageAndBSE != null)
  546. {
  547. //分布图
  548. im_Control_DrawDistrbutionImageAndBSE.ReverseSelection();
  549. }
  550. }
  551. else
  552. {
  553. if (im_Control_DrawDistrbutionSortImage != null)
  554. {
  555. im_Control_DrawDistrbutionSortImage.ReverSeSelection();
  556. }
  557. }
  558. break;
  559. case (int)DisplayPicutureType.AnalyzeDataTable:
  560. break;
  561. case (int)DisplayPicutureType.AnalyzeDataChart:
  562. break;
  563. default:
  564. break;
  565. }
  566. }
  567. /// <summary>
  568. /// 圆形工具按钮事件
  569. /// </summary>
  570. /// <param name="sender"></param>
  571. /// <param name="e"></param>
  572. private void rbCircular_Click(object sender, EventArgs e)
  573. {
  574. int tabIndex = (int)(m_conditionChoose.tabIndex);
  575. switch (tabIndex)
  576. {
  577. case (int)DisplayPicutureType.AnalyzeImg:
  578. //int idx = m_DataMgrFun.GetPropIndexByPropItemName(SourceGridData.ConditionItemList, OTSIncAReportApp.OTSSampleReportInfo.OTS_REPORT_PROP_GRID_ITEMS.IMAGE_DISPLAY_TYPE);
  579. //int imgDisType = SourceGridData.ConditionItemList[idx].comboDownList.IndexOf(SourceGridData.ConditionItemList[idx].itemVal.ToString());
  580. IMAGE_DISPLAY_TYPE imgDisType = (IMAGE_DISPLAY_TYPE)m_conditionChoose.m_SourceGridData.GetComboDownListIndexByItemName(OTS_REPORT_PROP_GRID_ITEMS.IMAGE_DISPLAY_TYPE);
  581. if (imgDisType == IMAGE_DISPLAY_TYPE.DISTRIBUTION)
  582. {
  583. if (im_Control_DrawDistrbutionImageAndBSE != null)
  584. {
  585. //分布图
  586. im_Control_DrawDistrbutionImageAndBSE.MultiSelect_Ellipse();
  587. }
  588. }
  589. else
  590. {
  591. if (im_Control_DrawDistrbutionSortImage != null)
  592. {
  593. im_Control_DrawDistrbutionSortImage.MultiSelect_Ellipse();
  594. }
  595. }
  596. break;
  597. case (int)DisplayPicutureType.AnalyzeDataTable:
  598. break;
  599. case (int)DisplayPicutureType.AnalyzeDataChart:
  600. break;
  601. default:
  602. break;
  603. }
  604. }
  605. /// <summary>
  606. /// 矩形工具按钮事件
  607. /// </summary>
  608. /// <param name="sender"></param>
  609. /// <param name="e"></param>
  610. private void rbRectangle_Click(object sender, EventArgs e)
  611. {
  612. int tabIndex = (int)(m_conditionChoose.tabIndex);
  613. switch (tabIndex)
  614. {
  615. case (int)DisplayPicutureType.AnalyzeImg:
  616. //int idx = m_DataMgrFun.GetPropIndexByPropItemName(SourceGridData.ConditionItemList, OTSIncAReportApp.OTSSampleReportInfo.OTS_REPORT_PROP_GRID_ITEMS.IMAGE_DISPLAY_TYPE);
  617. //int imgDisType = SourceGridData.ConditionItemList[idx].comboDownList.IndexOf(SourceGridData.ConditionItemList[idx].itemVal.ToString());
  618. int imgDisType = m_conditionChoose.m_SourceGridData.GetComboDownListIndexByItemName(OTS_REPORT_PROP_GRID_ITEMS.IMAGE_DISPLAY_TYPE);
  619. if (imgDisType == 0)
  620. {
  621. if (im_Control_DrawDistrbutionImageAndBSE != null)
  622. {
  623. //分布图
  624. im_Control_DrawDistrbutionImageAndBSE.MultiSelect_Rectangle();
  625. }
  626. }
  627. else
  628. {
  629. if (im_Control_DrawDistrbutionSortImage != null)
  630. {
  631. im_Control_DrawDistrbutionSortImage.MultiSelect_Rectangle();
  632. }
  633. }
  634. break;
  635. case (int)DisplayPicutureType.AnalyzeDataTable:
  636. break;
  637. case (int)DisplayPicutureType.AnalyzeDataChart:
  638. break;
  639. default:
  640. break;
  641. }
  642. }
  643. /// <summary>
  644. /// 取消多边形选择工具按钮事件
  645. /// </summary>
  646. /// <param name="sender"></param>
  647. /// <param name="e"></param>
  648. private void rbCancel_Click(object sender, EventArgs e)
  649. {
  650. int tabIndex = (int)(m_conditionChoose.tabIndex);
  651. switch (tabIndex)
  652. {
  653. case (int)DisplayPicutureType.AnalyzeImg:
  654. //int idx = m_DataMgrFun.GetPropIndexByPropItemName(SourceGridData.ConditionItemList, OTSIncAReportApp.OTSSampleReportInfo.OTS_REPORT_PROP_GRID_ITEMS.IMAGE_DISPLAY_TYPE);
  655. //int imgDisType = SourceGridData.ConditionItemList[idx].comboDownList.IndexOf(SourceGridData.ConditionItemList[idx].itemVal.ToString());
  656. int imgDisType = m_conditionChoose.m_SourceGridData.GetComboDownListIndexByItemName(OTS_REPORT_PROP_GRID_ITEMS.IMAGE_DISPLAY_TYPE);
  657. if (imgDisType == 0)// oper_module == "颗粒分布图"
  658. {
  659. if (im_Control_DrawDistrbutionImageAndBSE != null)
  660. {
  661. //分布图
  662. im_Control_DrawDistrbutionImageAndBSE.DeselectAllParticle();
  663. }
  664. }
  665. else
  666. {
  667. if (im_Control_DrawDistrbutionSortImage != null)
  668. {
  669. im_Control_DrawDistrbutionSortImage.DeselectAllParticle();
  670. }
  671. }
  672. break;
  673. case (int)DisplayPicutureType.AnalyzeDataTable:
  674. break;
  675. case (int)DisplayPicutureType.AnalyzeDataChart:
  676. break;
  677. default:
  678. break;
  679. }
  680. }
  681. #endregion
  682. #region 自定义封装相关方法
  683. /// <summary>
  684. /// 新建一个工作区域
  685. /// </summary>
  686. public void CreateNewWorkspaceWindow()
  687. {
  688. //Show BSE图窗口
  689. CreateSampleWindow();
  690. //创建测量数据窗口
  691. CreateCTablesWindow();
  692. //创建图表窗口
  693. CreateChartsWindow();
  694. m_OutputNlog = new OutputNlog();
  695. m_OutputNlog.Show(DockWindowPanel, OTS.WinFormsUI.Docking.DockState.DockRight);
  696. m_OutputNlog.Visible = true;
  697. m_RstWindow.Show(DockWindowPanel, OTS.WinFormsUI.Docking.DockState.DockLeft);
  698. m_conditionChoose.Show(DockWindowPanel);
  699. DockWindowPanel.DockLeftPortion = 300;
  700. DockWindowPanel.DockRightPortion = 351;
  701. }
  702. /// <summary>
  703. /// 创建新的窗体
  704. /// </summary>
  705. /// <param name="WorkWindow"></param>
  706. /// <param name="iType"></param>
  707. /// <returns></returns>
  708. private OTS.WinFormsUI.Docking.DockContent CreateNewDocument(OTS.WinFormsUI.Docking.DockContent WorkWindow, DisplayPicutureType iType)
  709. {
  710. string text = "";
  711. if (iType == DisplayPicutureType.AnalyzeImg)
  712. {
  713. text = table["analysisdiagram"].ToString(); ;
  714. }
  715. else if (iType == DisplayPicutureType.AnalyzeDataTable)
  716. {
  717. text = table["analysisdatasheet"].ToString();
  718. }
  719. else if (iType == DisplayPicutureType.AnalyzeDataChart)
  720. {
  721. text = table["analysisdatachart"].ToString();
  722. }
  723. WorkWindow.Text = text;
  724. return WorkWindow;
  725. }
  726. /// <summary>
  727. /// 创建样品BSE图窗口
  728. /// </summary>
  729. public void CreateSampleWindow()
  730. {
  731. if (null == m_SImageWindow)
  732. {
  733. m_SImageWindow = new frmSampleImage(this);
  734. }
  735. m_SImageWindow = (frmSampleImage)CreateNewDocument(m_SImageWindow, DisplayPicutureType.AnalyzeImg);
  736. if (DockWindowPanel.DocumentStyle == DocumentStyle.SystemMdi)
  737. {
  738. m_SImageWindow.MdiParent = this;
  739. m_SImageWindow.Show();
  740. }
  741. else
  742. {
  743. m_SImageWindow.Show(DockWindowPanel);
  744. }
  745. }
  746. /// <summary>
  747. /// 创建Grid表格窗体
  748. /// </summary>
  749. private void CreateCTablesWindow()
  750. {
  751. if (null == m_TablesWindow)
  752. {
  753. m_TablesWindow = new frmTables(this);
  754. }
  755. m_TablesWindow = (frmTables)CreateNewDocument(m_TablesWindow, DisplayPicutureType.AnalyzeDataTable);
  756. if (DockWindowPanel.DocumentStyle == DocumentStyle.SystemMdi)
  757. {
  758. m_TablesWindow.MdiParent = this;
  759. m_TablesWindow.Show();
  760. }
  761. else
  762. {
  763. m_TablesWindow.Show(DockWindowPanel);
  764. }
  765. }
  766. /// <summary>
  767. /// 创建chart图表窗体
  768. /// </summary>
  769. private void CreateChartsWindow()
  770. {
  771. if (null == m_ChartsWindow)
  772. {
  773. m_ChartsWindow = new frmCharts(this);
  774. }
  775. m_ChartsWindow = (frmCharts)CreateNewDocument(m_ChartsWindow, DisplayPicutureType.AnalyzeDataChart);
  776. if (DockWindowPanel.DocumentStyle == DocumentStyle.SystemMdi)
  777. {
  778. m_ChartsWindow.MdiParent = this;
  779. m_ChartsWindow.Show();
  780. }
  781. else
  782. {
  783. m_ChartsWindow.Show(DockWindowPanel);
  784. }
  785. }
  786. /// <summary>
  787. /// 新建样品时提示保存样品信息Messagebox
  788. /// </summary>
  789. /// <returns></returns>
  790. public int ShowSaveInfoMsgBox()
  791. {
  792. //是否保存修改信息,保存样品信息提示
  793. int iRev = (int)MessageBox.Show("Save modification information", "Tips", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Warning);
  794. if (iRev == (int)DialogResult.Yes)
  795. {
  796. return (int)MessageBoxRev.DIALOG_YES;
  797. }
  798. else if (iRev == (int)DialogResult.No)
  799. {
  800. return (int)MessageBoxRev.DIALOG_NO;
  801. }
  802. else
  803. {
  804. return (int)MessageBoxRev.DIALOG_CANCEL;
  805. }
  806. }
  807. #endregion
  808. #region 系统菜单相关功能
  809. private void ribbonOrbMenuItem4_Click(object sender, EventArgs e)
  810. {
  811. MemoryManagementClass.FlushMemory();
  812. //系统菜单,输出
  813. OTSReport_Export oe = new OTSReport_Export(this);
  814. oe.ShowDialog();
  815. oe.Dispose();
  816. oe = null;
  817. MemoryManagementClass.FlushMemory();
  818. }
  819. /// <summary>
  820. /// 复制
  821. /// </summary>
  822. /// <param name="sender"></param>
  823. /// <param name="e"></param>
  824. private void ribbonOrbMenuItem6_Click(object sender, EventArgs e)
  825. {
  826. int tabIndex = (int)m_conditionChoose.tabIndex;
  827. //int imgDisType = SourceGridData.SampleDataList[2].comboDownList.IndexOf(SourceGridData.SampleDataList[2].itemVal.ToString());
  828. //int calTableType = SourceGridData.SampleDataList[2].comboDownList.IndexOf(SourceGridData.SampleDataList[2].itemVal.ToString());
  829. //int calChartType = SourceGridData.SampleDataList[2].comboDownList.IndexOf(SourceGridData.SampleDataList[2].itemVal.ToString());
  830. //int idx = m_DataMgrFun.GetPropIndexByPropItemName(SourceGridData.ConditionItemList, OTSIncAReportApp.OTSSampleReportInfo.OTS_REPORT_PROP_GRID_ITEMS.CALCULATE_TABLE_TYPE);
  831. //int DisType = SourceGridData.ConditionItemList[idx].comboDownList.IndexOf(SourceGridData.ConditionItemList[idx].itemVal.ToString());
  832. int DisType = m_conditionChoose.m_SourceGridData.GetComboDownListIndexByItemName(OTS_REPORT_PROP_GRID_ITEMS.IMAGE_DISPLAY_TYPE);
  833. switch (tabIndex)
  834. {
  835. case (int)DisplayPicutureType.AnalyzeImg: //如果是分布图,排列图
  836. if (DisType == (int)IMAGE_DISPLAY_TYPE.DISTRIBUTION) //oper_module == "颗粒分布图"
  837. {
  838. if (im_Control_DrawDistrbutionImageAndBSE != null)
  839. {
  840. //分布图
  841. im_Control_DrawDistrbutionImageAndBSE.CopyToBitmap();
  842. }
  843. }
  844. if (DisType == (int)IMAGE_DISPLAY_TYPE.IMAGE_GRID)
  845. {
  846. if (im_Control_DrawDistrbutionSortImage != null)
  847. {
  848. //排列图
  849. im_Control_DrawDistrbutionSortImage.CopyToBitmap();
  850. }
  851. }
  852. break;
  853. case (int)DisplayPicutureType.AnalyzeDataTable: //如果是Grid表格
  854. if (DisType == (int)CALCULATE_TABLE_TYPE.MEASURE_INFO)
  855. {
  856. if (im_ResultGrid != null)
  857. {
  858. //测量结果信息
  859. im_ResultGrid.CopySelected();
  860. }
  861. }
  862. if (DisType == (int)CALCULATE_TABLE_TYPE.PARTICALE_GENE_INFO)
  863. {
  864. if (im_ParticlesGridDevidePage != null)
  865. {
  866. //颗粒列表
  867. im_ParticlesGridDevidePage.CopySelected();
  868. }
  869. }
  870. if (DisType == (int)CALCULATE_TABLE_TYPE.PARTICALE_COMP)
  871. {
  872. if (im_CompositionDistributionGrid != null)
  873. {
  874. //成份分布表
  875. im_CompositionDistributionGrid.CopySelected();
  876. }
  877. }
  878. if (DisType == (int)CALCULATE_TABLE_TYPE.AVE_ELEMENT_COMP)
  879. {
  880. if (im_ElementCompositionAvgGrid != null)
  881. {
  882. //平均元素含量表
  883. im_ElementCompositionAvgGrid.CopySelected();
  884. }
  885. }
  886. if (DisType == (int)CALCULATE_TABLE_TYPE.ELEMENT_COMP)
  887. {
  888. if (im_ElementContentGrid != null)
  889. {
  890. //元素含量表
  891. im_ElementContentGrid.CopySelected();
  892. }
  893. }
  894. if (DisType == (int)CALCULATE_TABLE_TYPE.PARTICALE_SIZE_DISTRIBUTION)
  895. {
  896. if (im_ParticlesSizeGrid != null)
  897. {
  898. //颗粒尺寸表
  899. im_ParticlesSizeGrid.CopySelected();
  900. }
  901. }
  902. break;
  903. case (int)DisplayPicutureType.AnalyzeDataChart: //如果是Chart图表
  904. if (DisType == (int)CALCULATE_CHART_TYPE.PARTICALE_COMP)
  905. {
  906. //if (im_ParticalesCompositionChart != null)
  907. //{
  908. // //颗粒成份图
  909. // im_ParticalesCompositionChart.CopyToBitmap();
  910. //}
  911. }
  912. if (DisType == (int)CALCULATE_CHART_TYPE.ELEMENT_COMP)
  913. {
  914. //if (im_ElementCompositionChart != null)
  915. //{
  916. // //元素成份图
  917. // im_ElementCompositionChart.CopyToBitmap();
  918. //}
  919. }
  920. if (DisType == (int)CALCULATE_CHART_TYPE.PARTICALE_SIZE_DISTRIBUTION)
  921. {
  922. //if (im_ParticalesSizeDistributionChart != null)
  923. //{
  924. // //颗粒尺寸分布图
  925. // im_ParticalesSizeDistributionChart.CopyToBitmap();
  926. //}
  927. }
  928. if (DisType == (int)CALCULATE_CHART_TYPE.TRIO_CHART)
  929. {
  930. //if (im_Trianglediagram != null)
  931. //{
  932. // //三角图
  933. // im_Trianglediagram.CopyToBitmap();
  934. //}
  935. }
  936. break;
  937. default:
  938. break;
  939. }
  940. }
  941. /// <summary>
  942. /// 复制全部
  943. /// </summary>
  944. /// <param name="sender"></param>
  945. /// <param name="e"></param>
  946. private void ribbonOrbMenuItem8_Click(object sender, EventArgs e)
  947. {
  948. int tabIndex = (int)m_conditionChoose.tabIndex;
  949. //int idx = m_DataMgrFun.GetPropIndexByPropItemName(SourceGridData.ConditionItemList, OTSIncAReportApp.OTSSampleReportInfo.OTS_REPORT_PROP_GRID_ITEMS.CALCULATE_TABLE_TYPE);
  950. //int DisType = SourceGridData.ConditionItemList[idx].comboDownList.IndexOf(SourceGridData.ConditionItemList[idx].itemVal.ToString());
  951. int DisType = m_conditionChoose.m_SourceGridData.GetComboDownListIndexByItemName(OTS_REPORT_PROP_GRID_ITEMS.IMAGE_DISPLAY_TYPE);
  952. switch (tabIndex)
  953. {
  954. case (int)DisplayPicutureType.AnalyzeImg:
  955. if (DisType == (int)IMAGE_DISPLAY_TYPE.DISTRIBUTION)
  956. {
  957. if (im_Control_DrawDistrbutionImageAndBSE != null)
  958. {
  959. //分布图
  960. im_Control_DrawDistrbutionImageAndBSE.CopyToBitmap();
  961. }
  962. }
  963. if (DisType == (int)IMAGE_DISPLAY_TYPE.IMAGE_GRID)
  964. {
  965. if (im_Control_DrawDistrbutionSortImage != null)
  966. {
  967. //排列图
  968. im_Control_DrawDistrbutionSortImage.CopyToBitmap();
  969. }
  970. }
  971. break;
  972. case (int)DisplayPicutureType.AnalyzeDataTable:
  973. if (DisType == (int)CALCULATE_TABLE_TYPE.MEASURE_INFO)
  974. {
  975. if (im_ResultGrid != null)
  976. {
  977. //测量结果信息
  978. im_ResultGrid.CopyAll();
  979. }
  980. }
  981. if (DisType == (int)CALCULATE_TABLE_TYPE.PARTICALE_GENE_INFO)
  982. {
  983. if (im_ParticlesGridDevidePage != null)
  984. {
  985. //颗粒列表
  986. im_ParticlesGridDevidePage.CopyAll();
  987. }
  988. }
  989. if (DisType == (int)CALCULATE_TABLE_TYPE.PARTICALE_COMP)
  990. {
  991. if (im_CompositionDistributionGrid != null)
  992. {
  993. //成份分布表
  994. im_CompositionDistributionGrid.CopyAll();
  995. }
  996. }
  997. if (DisType == (int)CALCULATE_TABLE_TYPE.AVE_ELEMENT_COMP)
  998. {
  999. if (im_ElementCompositionAvgGrid != null)
  1000. {
  1001. //平均元素含量表
  1002. im_ElementCompositionAvgGrid.CopyAll();
  1003. }
  1004. }
  1005. if (DisType == (int)CALCULATE_TABLE_TYPE.ELEMENT_COMP)
  1006. {
  1007. if (im_ElementContentGrid != null)
  1008. {
  1009. //元素含量表
  1010. im_ElementContentGrid.CopyAll();
  1011. }
  1012. }
  1013. if (DisType == (int)CALCULATE_TABLE_TYPE.PARTICALE_SIZE_DISTRIBUTION)
  1014. {
  1015. if (im_ParticlesSizeGrid != null)
  1016. {
  1017. //颗粒尺寸表
  1018. im_ParticlesSizeGrid.CopyAll();
  1019. }
  1020. }
  1021. break;
  1022. case (int)DisplayPicutureType.AnalyzeDataChart:
  1023. if (DisType == (int)CALCULATE_CHART_TYPE.PARTICALE_COMP)
  1024. {
  1025. //if (im_ParticalesCompositionChart != null)
  1026. //{
  1027. // //颗粒成份图
  1028. // im_ParticalesCompositionChart.CopyToBitmap();
  1029. //}
  1030. }
  1031. if (DisType == (int)CALCULATE_CHART_TYPE.ELEMENT_COMP)
  1032. {
  1033. //if (im_ElementCompositionChart != null)
  1034. //{
  1035. // //元素成份图
  1036. // im_ElementCompositionChart.CopyToBitmap();
  1037. //}
  1038. }
  1039. if (DisType == (int)CALCULATE_CHART_TYPE.PARTICALE_SIZE_DISTRIBUTION)
  1040. {
  1041. //if (im_ParticalesSizeDistributionChart != null)
  1042. //{
  1043. // //颗粒尺寸分布图
  1044. // im_ParticalesSizeDistributionChart.CopyToBitmap();
  1045. //}
  1046. }
  1047. if (DisType == (int)CALCULATE_CHART_TYPE.TRIO_CHART)
  1048. {
  1049. //if (im_Trianglediagram != null)
  1050. //{
  1051. // //三角图
  1052. // im_Trianglediagram.CopyToBitmap();
  1053. //}
  1054. }
  1055. break;
  1056. default:
  1057. break;
  1058. }
  1059. }
  1060. private void frmReportApp_FormClosed(object sender, FormClosedEventArgs e)
  1061. {
  1062. //string strDBpathGB =m_DataMgrFun. resultFilesList[0].FilePath + "\\" + "ReportGBDB.db";
  1063. //File.Delete(strDBpathGB);
  1064. Process.GetCurrentProcess().Kill();
  1065. this.Hide();//打开EChar图后,回收浏览器资源暂卡,为达到操作流畅性,先隐藏窗体再回收资源
  1066. this.Invoke(new Action(() =>
  1067. {
  1068. if (Cef.IsInitialized)
  1069. Cef.Shutdown();
  1070. }));
  1071. }
  1072. #endregion
  1073. private void dpbOpen_Click(object sender, EventArgs e)
  1074. {
  1075. OpenProFile();
  1076. }
  1077. /// <summary>
  1078. /// 打开报告项目工程文件,封装方法
  1079. /// </summary>
  1080. /// <returns></returns>
  1081. private bool OpenProFile()
  1082. {
  1083. OpenFileDialog openFileDialog = new OpenFileDialog();
  1084. openFileDialog.Filter = "Measure Project Files((*.prj)|*.prj";
  1085. openFileDialog.ValidateNames = true;
  1086. openFileDialog.CheckPathExists = true;
  1087. openFileDialog.CheckFileExists = true;
  1088. openFileDialog.Multiselect = false;
  1089. if (openFileDialog.ShowDialog() == DialogResult.OK)
  1090. {
  1091. string strFilePath = System.IO.Path.GetDirectoryName(openFileDialog.FileName);
  1092. System.IO.DirectoryInfo folder = new System.IO.DirectoryInfo(strFilePath);
  1093. foreach (System.IO.DirectoryInfo directory in folder.GetDirectories())
  1094. {
  1095. foreach (System.IO.FileInfo file in directory.GetFiles("*.rst"))
  1096. {
  1097. this.m_RstWindow.AddSampleResult(file.FullName);
  1098. }
  1099. }
  1100. return true;
  1101. }
  1102. else return false;
  1103. }
  1104. private void frmReportApp_FormClosing(object sender, FormClosingEventArgs e)
  1105. {
  1106. ServiceInterface.SemController sem = new ServiceInterface.SemController();
  1107. sem.DisConnect();
  1108. }
  1109. private void ribbonOrbMenuItem_Extremum_Click(object sender, EventArgs e)
  1110. {
  1111. try
  1112. {
  1113. System.Diagnostics.Process p = System.Diagnostics.Process.Start(".\\OTSExtremum.exe");
  1114. p.WaitForExit();
  1115. }
  1116. catch (Exception ex)
  1117. {
  1118. log.Error("OTSPartA_STDEditor:" + ex.ToString());
  1119. }
  1120. }
  1121. }
  1122. }