Программирование кнопок на C#.
Здравствуйте! Делаю программу на windows forms app на C#, наподобие paint, не могу найти код для кнопок: отменить и вернуть и ластик, когда рисуешь, спасибо за ответ!
ДополненПростите ещё, при закрытие, что бы показовслось, хотите ди вы сохраните пожалуйста 🙏
По дате
По рейтингу
Отмена
123456789101112
private void btnUndo_Click(object sender, EventArgs e)
{
// Проверка, есть ли что отменять
if (history.Count > 0)
{
// Удаление последнего элемента из истории
history.RemoveAt(history.Count - 1);
// Обновление изображения на основе истории
UpdateImage();
}
}
Вернуть
123456789101112131415
private void btnRedo_Click(object sender, EventArgs e)
{
// Проверка, есть ли что возвращать
if (redoHistory.Count > 0)
{
// Добавление последнего элемента из истории redo в историю
history.Add(redoHistory[redoHistory.Count - 1]);
// Удаление последнего элемента из истории redo
redoHistory.RemoveAt(redoHistory.Count - 1);
// Обновление изображения на основе истории
UpdateImage();
}
}
Ластик
123456789101112131415161718
private void btnEraser_Click(object sender, EventArgs e)
{
// Изменение режима рисования на ластик
drawingMode = DrawingMode.Eraser;
}
// Обработчик события рисования
private void pictureBox_MouseDown(object sender, MouseEventArgs e)
{
if (drawingMode == DrawingMode.Eraser)
{
// Рисование ластиком
using (Graphics g = pictureBox.CreateGraphics())
{
g.FillEllipse(Brushes.White, e.X - eraserSize / 2, e.Y - eraserSize / 2, eraserSize, eraserSize);
}
}
}
Сохранение при закрытии
12345678910111213
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
// Отображение диалогового окна сохранения
if (imageModified)
{
DialogResult result = MessageBox.Show("Сохранить изменения?", "Сохранение", MessageBoxButtons.YesNoCancel);
if (result == DialogResult.Yes)
{
// Сохранение изображения
SaveImage();
}
}
}
Это всё несколько сложнее, чем просто найти готовый код. Тебе надо самостоятельно реализовать решение.
Больше по теме