Export (0) Print
Expand All

TextBoxBase.ClearUndo Method

Clears information about the most recent operation from the undo buffer of the text box.

[Visual Basic]
Public Sub ClearUndo()
[C#]
public void ClearUndo();
[C++]
public: void ClearUndo();
[JScript]
public function ClearUndo();

Remarks

You can use this method to prevent an undo operation from repeating, based on the state of your application.

Example

[Visual Basic, C#, C++] The following example uses TextBox, a derived class. It provides Click event handlers for MenuItem objects that perform Cut, Copy, Paste, and Undo operations. This example assumes that a TextBox control named textBox1 has been created.

[Visual Basic] 
Private Sub Menu_Copy(sender As System.Object, e As System.EventArgs)
    ' Ensure that text is selected in the text box.   
    If textBox1.SelectionLength > 0 Then
        ' Copy the selected text to the Clipboard.
        textBox1.Copy()
    End If
End Sub
 
Private Sub Menu_Cut(sender As System.Object, e As System.EventArgs)
    ' Ensure that text is currently selected in the text box.   
    If textBox1.SelectedText <> "" Then
        ' Cut the selected text in the control and paste it into the Clipboard.
        textBox1.Cut()
    End If
End Sub
 
Private Sub Menu_Paste(sender As System.Object, e As System.EventArgs)
    ' Determine if there is any text in the Clipboard to paste into the text box.
    If Clipboard.GetDataObject().GetDataPresent(DataFormats.Text) = True Then
        ' Determine if any text is selected in the text box.
        If textBox1.SelectionLength > 0 Then
            ' Ask user if they want to paste over currently selected text.
            If MessageBox.Show("Do you want to paste over current selection?", _
                "Cut Example", MessageBoxButtons.YesNo) = DialogResult.No Then
                ' Move selection to the point after the current selection and paste.
                textBox1.SelectionStart = textBox1.SelectionStart + _
                    textBox1.SelectionLength
            End If
        End If 
        ' Paste current text in Clipboard into text box.
        textBox1.Paste()
    End If
End Sub

Private Sub Menu_Undo(sender As System.Object, e As System.EventArgs)
    ' Determine if last operation can be undone in text box.   
    If textBox1.CanUndo = True Then
        ' Undo the last operation.
        textBox1.Undo()
        ' Clear the undo buffer to prevent last action from being redone.
        textBox1.ClearUndo()
    End If
End Sub


[C#] 
private void Menu_Copy(System.Object sender, System.EventArgs e)
 {
    // Ensure that text is selected in the text box.   
    if(textBox1.SelectionLength > 0)
        // Copy the selected text to the Clipboard.
        textBox1.Copy();
 }
 
 private void Menu_Cut(System.Object sender, System.EventArgs e)
 {   
     // Ensure that text is currently selected in the text box.   
     if(textBox1.SelectedText != "")
        // Cut the selected text in the control and paste it into the Clipboard.
        textBox1.Cut();
 }
 
 private void Menu_Paste(System.Object sender, System.EventArgs e)
 {
    // Determine if there is any text in the Clipboard to paste into the text box.
    if(Clipboard.GetDataObject().GetDataPresent(DataFormats.Text) == true)
    {
        // Determine if any text is selected in the text box.
        if(textBox1.SelectionLength > 0)
        {
          // Ask user if they want to paste over currently selected text.
          if(MessageBox.Show("Do you want to paste over current selection?", "Cut Example", MessageBoxButtons.YesNo) == DialogResult.No)
             // Move selection to the point after the current selection and paste.
             textBox1.SelectionStart = textBox1.SelectionStart + textBox1.SelectionLength;
        }
        // Paste current text in Clipboard into text box.
        textBox1.Paste();
    }
 }
 
 
 private void Menu_Undo(System.Object sender, System.EventArgs e)
 {
    // Determine if last operation can be undone in text box.   
    if(textBox1.CanUndo == true)
    {
       // Undo the last operation.
       textBox1.Undo();
       // Clear the undo buffer to prevent last action from being redone.
       textBox1.ClearUndo();
    }
 }
 

[C++] 
private:
 void Menu_Copy(System::Object* /*sender*/, System::EventArgs* /*e*/)
 {
    // Ensure that text is selected in the text box.   
    if(textBox1->SelectionLength > 0)
        // Copy the selected text to the Clipboard.
        textBox1->Copy();
 }
 
 void Menu_Cut(System::Object* /*sender*/, System::EventArgs* /*e*/)
 {   
     // Ensure that text is currently selected in the text box.   
     if(!textBox1->SelectedText->Equals(S""))
        // Cut the selected text in the control and paste it into the Clipboard.
        textBox1->Cut();
 }
 
 void Menu_Paste(System::Object* /*sender*/, System::EventArgs* /*e*/)
 {
    // Determine if there is any text in the Clipboard to paste into the text box.
    if(Clipboard::GetDataObject()->GetDataPresent(DataFormats::Text) == true)
    {
        // Determine if any text is selected in the text box.
        if(textBox1->SelectionLength > 0)
        {
          // Ask user if they want to paste over currently selected text.
          if(MessageBox::Show(S"Do you want to paste over current selection?", S"Cut Example", MessageBoxButtons::YesNo) == DialogResult::No)
             // Move selection to the point after the current selection and paste.
             textBox1->SelectionStart = textBox1->SelectionStart + textBox1->SelectionLength;
        }
        // Paste current text in Clipboard into text box.
        textBox1->Paste();
    }
 }
 
 void Menu_Undo(System::Object* /*sender*/, System::EventArgs* /*e*/)
 {
    // Determine if last operation can be undone in text box.   
    if(textBox1->CanUndo == true)
    {
       // Undo the last operation.
       textBox1->Undo();
       // Clear the undo buffer to prevent last action from being redone.
       textBox1->ClearUndo();
    }
 }
 

[JScript] No example is available for JScript. To view a Visual Basic, C#, or C++ example, click the Language Filter button Language Filter in the upper-left corner of the page.

Requirements

Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family

See Also

TextBoxBase Class | TextBoxBase Members | System.Windows.Forms Namespace | Cut | Copy | Paste | CanUndo | Clear

Show:
© 2014 Microsoft