Dim cUndoData As New Collection
Dim cRedoData As New Collection
Public bCauseValidate As Boolean
Private Sub SaveUndoData()
cUndoData.Add Text1.Text
Dim i
If cRedoData.Count > 0 Then
For i = 0 To cRedoData.Count - 1
cRedoData.Remove (i)
Next
End If
End Sub
Private Sub Undo()
cRedoData.Add cUndoData.Item(cUndoData.Count - 1)
bCauseValidate = False
Text1.Text = cUndoData.Item(cUndoData.Count - 1)
bCauseValidate = True
cUndoData.Remove (cUndoData.Count - 1)
End Sub
Private Sub Command1_Click()
If CanUndo Then Undo
End Sub
Private Sub Form_Load()
bCauseValidate = True
SaveUndoData
End Sub
Private Sub Text1_Change()
If bCauseValidate Then
SaveUndoData
End If
End Sub
Private Function CanUndo() As Boolean
CanUndo = IIf(cUndoData.Count > 1, True, False)
End Function