using System; using System.Drawing; using System.Windows.Forms; namespace ScreenCaptureApp { public partial class MainForm : Form { public MainForm() { InitializeComponent(); } private void btnCapture_Click(object sender, EventArgs e) { this.Hide(); using (var captureForm = new ScreenCaptureForm()) { if (captureForm.ShowDialog() == DialogResult.OK) { // Добавляем кнопки для выбора действия using (var resultForm = new ResultForm(captureForm.CapturedImage)) { if (resultForm.ShowDialog() == DialogResult.OK) { SaveImage(captureForm.CapturedImage); } else if (resultForm.DialogResult == DialogResult.Yes) { CopyToClipboard(captureForm.CapturedImage); } } } } this.Show(); } private void SaveImage(Image image) { using (SaveFileDialog sfd = new SaveFileDialog()) { sfd.Filter = "PNG Image|*.png|JPEG Image|*.jpg|Bitmap Image|*.bmp"; sfd.Title = "Save Screenshot"; sfd.FileName = "screenshot.png"; if (sfd.ShowDialog() == DialogResult.OK) { image.Save(sfd.FileName, GetImageFormat(sfd.FileName)); MessageBox.Show("Screenshot saved successfully!", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information); } } } private void CopyToClipboard(Image image) { try { Clipboard.SetImage(image); MessageBox.Show("Screenshot copied to clipboard!", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information); } catch (Exception ex) { MessageBox.Show($"Failed to copy to clipboard: {ex.Message}", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } } private System.Drawing.Imaging.ImageFormat GetImageFormat(string fileName) { string ext = System.IO.Path.GetExtension(fileName).ToLower(); switch (ext) { case ".jpg": return System.Drawing.Imaging.ImageFormat.Jpeg; case ".jpeg": return System.Drawing.Imaging.ImageFormat.Jpeg; case ".bmp": return System.Drawing.Imaging.ImageFormat.Bmp; default: return System.Drawing.Imaging.ImageFormat.Png; } } } }