public static void CaptureRegion(TaskSettings taskSettings, bool autoHideForm = true) { RegionCaptureForm form = new RegionCaptureForm(RegionCaptureMode.Annotation); DoCapture(() => { Image img = null; try { form.Config = taskSettings.CaptureSettingsReference.SurfaceOptions; form.Prepare(TaskHelpers.GetScreenshot(taskSettings).CaptureFullscreen()); form.ShowDialog(); img = form.GetResultImage(); if (img != null) { if (form.Result == RegionResult.Region && taskSettings.UploadSettings.RegionCaptureUseWindowPattern) { WindowInfo windowInfo = form.GetWindowInfo(); if (windowInfo != null) { img.Tag = new ImageTag { WindowTitle = windowInfo.Text, ProcessName = windowInfo.ProcessName }; } } lastRegionCaptureType = LastRegionCaptureType.Default; } } finally { if (form != null) { form.Dispose(); } } return img; }, CaptureType.Region, taskSettings, autoHideForm); }