public static void Snip() { if (IsCapturing) { return; } if (Bitmap != null) { Bitmap.Dispose(); GC.Collect(); } IsCapturing = true; var screens = ScreenHelper.GetMonitorsInfo(); forms = new SnippingTool[screens.Count]; for (int i = 0; i < screens.Count; i++) { int horResolution = screens[i].HorizontalResolution; int verResolution = screens[i].VerticalResolution; int top = screens[i].MonitorArea.Top; int left = screens[i].MonitorArea.Left; var bitmap = new Bitmap(horResolution, verResolution, PixelFormat.Format32bppPArgb); using (var g = Graphics.FromImage(bitmap)) { g.CopyFromScreen(left, top, 0, 0, bitmap.Size); } forms[i] = new SnippingTool(bitmap, left, top, horResolution, verResolution); forms[i].Show(); } }