示例#1
0
 void BtnCancelClick(object sender, EventArgs e)
 {
     try
     {
         ImageProcessor P = IP;
         IP = null;
         P?.Dispose();
     }
     finally{ Close(); }
 }
 void OnGenerationComplete(Exception ex)
 {
     if (InvokeRequired)
     {
         BeginInvoke(new ImageProcessor.GenerationCompleteDlg(OnGenerationComplete), ex);
     }
     else
     {
         Cursor = Cursors.Default;
         if (ex != null)
         {
             System.Windows.Forms.MessageBox.Show(ex.Message);
         }
         preventClose = false;
         WT.Enabled   = false;
         IP.Dispose();
         Close();
     }
 }
        private void OnGenerationComplete(Exception ex)
        {
            if (InvokeRequired)
            {
                BeginInvoke(new ImageProcessor.GenerationCompleteDlg(OnGenerationComplete), ex);
            }
            else
            {
                try
                {
                    if (_imageProcessor != null)
                    {
                        if (_imageProcessor.SelectedTool == ImageProcessor.Tool.Dithering)
                        {
                            _core.UsageCounters.Dithering++;
                        }
                        else if (_imageProcessor.SelectedTool == ImageProcessor.Tool.Line2Line)
                        {
                            _core.UsageCounters.Line2Line++;
                        }
                        else if (_imageProcessor.SelectedTool == ImageProcessor.Tool.Vectorize)
                        {
                            _core.UsageCounters.Vectorization++;
                        }
                        else if (_imageProcessor.SelectedTool == ImageProcessor.Tool.Centerline)
                        {
                            _core.UsageCounters.Centerline++;
                        }
                        else if (_imageProcessor.SelectedTool == ImageProcessor.Tool.NoProcessing)
                        {
                            _core.UsageCounters.Passthrough++;
                        }

                        Cursor = Cursors.Default;

                        if (ex != null && !(ex is ThreadAbortException))
                        {
                            MessageBox.Show(ex.Message);
                        }

                        _preventClose = false;
                        WT.Enabled    = false;

                        ImageProcessor P = _imageProcessor;
                        _imageProcessor = null;
                        P?.Dispose();
                    }
                }
                finally
                {
                    Close();
                }
            }
        }
 private void BtnCancelClick(object sender, EventArgs e)
 {
     try
     {
         ImageProcessor imageProcessor = _imageProcessor;
         _imageProcessor = null;
         imageProcessor?.Dispose();
     }
     finally
     {
         Close();
     }
 }
 private void RasterToLaserFormFormClosing(object sender, FormClosingEventArgs e)
 {
     if (_preventClose)
     {
         e.Cancel = true;
     }
     else
     {
         ImageProcessor.PreviewReady       -= OnPreviewReady;
         ImageProcessor.PreviewBegin       -= OnPreviewBegin;
         ImageProcessor.GenerationComplete -= OnGenerationComplete;
         _imageProcessor?.Dispose();
     }
 }