private static void ObjectView_FileProcessed(object sender, EventArgs e) { var progressWindow = new frmCLIProgress(); var generatePrintjobTask = GenerateExportAsync(progressWindow); var progressResult = progressWindow.ShowDialog(); generatePrintjobTask.Wait(); GenerateJob_RunWorkerCompleted(); }
private static Task GenerateExportAsync(frmCLIProgress progressWindow) { return(Task.Run(() => { if (RenderEngine.PrintJob != null) { RenderEngine.PreRender(); RenderEngine.Render(); while (RenderEngine.TotalAmountSlices != RenderEngine.TotalProcessedSlices || RenderEngine._cancelRendering) { float progress = (float)Math.Round((RenderEngine.TotalProcessedSlices / (float)RenderEngine.TotalAmountSlices * 100), 2); progressWindow.SetPercentage(progress); Thread.Sleep(250); } progressWindow.Invoke(new MethodInvoker(delegate { progressWindow.Close(); })); } })); }