79 lines
2.8 KiB
C#
79 lines
2.8 KiB
C#
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;
|
|
}
|
|
}
|
|
}
|
|
} |