Browse Source

报告程序导出原图优化

gaoshipeng 2 years ago
parent
commit
a1fb7afeb4

+ 27 - 6
OTSIncAReportApp/1-UI/Control_Graph/Controls/Control_DrawDistrbutionImageAndBSE.cs

@@ -227,12 +227,12 @@ namespace OTSIncAReportGraph.Controls
 
         OTSIncAReportApp.frmReportApp m_ReportApp;
         ResultFile resultFile = null;
-
+        private Cursor cursor1;
 
         #endregion
 
         #region 构造函数及窗体加载
-    
+
         public Control_DrawDistrbutionImageAndBSE(OTSIncAReportApp.frmReportApp ReportApp)
         {
             log = NLog.LogManager.GetCurrentClassLogger();
@@ -241,7 +241,7 @@ namespace OTSIncAReportGraph.Controls
 
             m_frm_userprogress = new Frm_UserProgress();
 
-          
+            cursor1 = Cursor;
 
             m_mythread = new Thread(new ParameterizedThreadStart(Thread_GO));
             
@@ -1523,7 +1523,7 @@ namespace OTSIncAReportGraph.Controls
         //复制图像
         private void toolStripMenuItem_copyimage_Click(object sender, EventArgs e)
         {
-            //this.Cursor = System.Windows.Forms.Cursors.WaitCursor;
+            this.Cursor = System.Windows.Forms.Cursors.WaitCursor;
             SaveFileDialog sfd = new SaveFileDialog();
             //|ALL Files(*.*)|*.*
             //BMP Files(*.bmp)| *.bmp |
@@ -1535,14 +1535,34 @@ namespace OTSIncAReportGraph.Controls
                 outpic.resultFile = resultFile;
                 outpic.sfd = sfd;
                 outpic.type = (int)Outpic_enum.pic;
+                outpic.m_ReportApp = m_ReportApp;
                 Thread bThread = new Thread(new ThreadStart(outpic.opencv_outpic));
+               
                 bThread.IsBackground = true;
                 bThread.Start();
             }
             //this.Cursor = System.Windows.Forms.Cursors.Default;
             
         }
-       
+
+        public void printf(bool str)
+        {
+
+            DialogResult dr = MessageBox.Show("Export completed!");
+            //if (dr == DialogResult.OK)
+            //{
+                Thread.Sleep(200);
+                this.Cursor = cursor1;
+            //}
+            //else
+            //{
+            //    Thread.Sleep(200);
+            //    this.Cursor = cursor1;
+            //}
+            //MessageBox.Show("Export completed!");
+
+        }
+
 
         private void ToolStripMenuItem_movesempoint_Click(object sender, EventArgs e)
         {
@@ -2090,11 +2110,12 @@ namespace OTSIncAReportGraph.Controls
                 outpic.type = (int)Outpic_enum.Render_pic;
                 outpic.ParticleData = ParticleAll.Copy();
                 outpic.ParticleClassData = ParticleClass.Copy();
+                outpic.m_ReportApp = m_ReportApp;
                 Thread bThread = new Thread(new ThreadStart(outpic.opencv_outpic));
                 bThread.IsBackground = true;
                 bThread.Start();
             }
-            this.Cursor = System.Windows.Forms.Cursors.Default;
+           // this.Cursor = System.Windows.Forms.Cursors.Default;
         }
 
         private void ToolStripMenuItemDelete_Particle_Click(object sender, EventArgs e)

+ 18 - 2
OTSIncAReportApp/1-UI/Control_Graph/Controls/OutPIC.cs

@@ -15,13 +15,14 @@ namespace OTSIncAReportApp._3_ServiceCenter
 {
     class OutPIC
     {
-        
+        public OTSIncAReportApp.frmReportApp m_ReportApp;
         //包含particle的field的列表对象
         public List<DisplayField> m_list_allDfield = null;
         public ResultFile resultFile = null;
         public SaveFileDialog sfd = null;
         public DataTable ParticleData = new DataTable();
         public DataTable ParticleClassData = new DataTable();
+        
         public int type = 0;
         /// <summary>
         /// 获取每行图片的位置配合opencv方法使用
@@ -228,7 +229,11 @@ namespace OTSIncAReportApp._3_ServiceCenter
             OpenCvSharp.Cv2.ImWrite(sfd.FileName, save_pano);
             NLog.LogManager.GetCurrentClassLogger().Info("Save complete.");
 
-            MessageBox.Show("Export completed!");
+            Control_DrawDistrbutionImageAndBSE v = new Control_DrawDistrbutionImageAndBSE(m_ReportApp);
+            MyEvent += new MyEntrust(v.printf);
+            SetValue(true);
+
+            //MessageBox.Show("Export completed!");
         }
         private int getPICstringLong(DataTable particleData, List<OpenCvSharp.Mat> list_pano)
         {
@@ -430,5 +435,16 @@ namespace OTSIncAReportApp._3_ServiceCenter
 
             return list_dt_picdata;
         }
+
+
+
+        private bool value;
+        public delegate void MyEntrust(bool str);
+        public event MyEntrust MyEvent;
+        public void SetValue(bool s)
+        {
+            value = s;
+            MyEvent(value);     // 触发事件
+        }
     }
 }