frmReportApp.cs 51 KB

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