比如你要在一个文本框中操作 
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = 26 Then
    '这里写你要实现的功能。
End If
End Sub

解决方案 »

  1.   

    Option ExplicitDim 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 SubPrivate Sub Command1_Click()
    If CanUndo Then Undo
    End SubPrivate Sub Form_Load()
        bCauseValidate = True
        SaveUndoData
    End SubPrivate 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