frmReportApp.cs 52 KB

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