Hi
I have a problem with my code
after I click undo I can't draw on the image and I don't know why
this is my code
Imports System.Drawing.Graphics
Imports System.Drawing.Bitmap
Imports System.Drawing
Public Class FrmChild
Dim Xstart As Short
Dim Ystart As Short
Dim Xend As Short
Dim Yend As Short
Dim BoolErasing As Boolean = False
Dim BoolDrawing As Boolean = False
Dim Image As New Bitmap(1500, 1200)
Public GraphFun As Graphics = Graphics.FromImage(Image)
Dim ErasingPen As New Pen(Drawing.Color.White, 3)
Dim DrawingPen As New Pen(Drawing.Color.Black, 3)
Private Sub PictureBox1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PictureBox1.MouseDown
undo.Push(Image.Clone())
redo.Clear()
btnredo.Enabled = False
If Not btnundo.Enabled Then btnundo.Enabled = True
Xstart = e.X
Ystart = e.Y
If btnEraser Then
BoolErasing = True
ElseIf btnPencil Then
BoolDrawing = True
End If
End Sub
Private Sub PictureBox1_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PictureBox1.MouseMove
If BoolErasing Then
GraphFun.DrawLine(ErasingPen, Xstart, Ystart, e.X, e.Y)
ElseIf BoolDrawing Then
GraphFun.DrawLine(DrawingPen, Xstart, Ystart, e.X, e.Y)
End If
Xstart = e.X
Ystart = e.Y
PictureBox1.Image = Image
End Sub
Private Sub PictureBox1_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PictureBox1.MouseUp
Xend = e.X
Yend = e.Y
BoolErasing = False
BoolDrawing = False
PictureBox1.Image = Image
End Sub
Private Sub Btnundo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnundo.Click
If Not btnredo.Enabled Then btnredo.Enabled = True
redo.Push(Image.Clone())
Image = undo.Pop()
PictureBox1.Image = Image
If undo.Count = 0 Then
btnundo.Enabled = False
End If
End Sub
Private Sub FrmChild_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
btnundo.Enabled = False
btnredo.Enabled = False
End Sub
Private Sub btnredo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnredo.Click
If Not btnundo.Enabled Then btnundo.Enabled = True
undo.Push(Image.Clone())
Image = redo.Pop()
PictureBox1.Image = Image
If redo.Count = 0 Then btnredo.Enabled = False
End Sub
End Class