Export (0) Print
Expand All
1 out of 1 rated this helpful - Rate this topic

TextBoxBase.Undo Method

Undoes the last edit operation in the text box.

Namespace: System.Windows.Forms
Assembly: System.Windows.Forms (in system.windows.forms.dll)

public void Undo ()
public void Undo ()
public function Undo ()

This method will undo the last Clipboard or text change operation performed in the text box control if the CanUndo property returns true.

NoteNote

The Undo method does not work with the KeyPress or TextChanged events.

The following code example uses TextBox, a derived class. It provides Click event handlers for MenuItem objects that perform Cut, Copy, Paste, and Undo operations. This example requires that a TextBox control named textBox1 has been created.

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();
    }
 }
 

private void Menu_Copy(Object sender, System.EventArgs e)
{
    // Ensure that text is selected in the text box.   
    if (textBox1.get_SelectionLength() > 0) {
        // Copy the selected text to the Clipboard.
        textBox1.Copy();
    }
} //Menu_Copy

private void Menu_Cut(Object sender, System.EventArgs e)
{
    // Ensure that text is currently selected in the text box.   
    if (!(textBox1.get_SelectedText().Equals(""))) {
        // Cut the selected text in the control and paste it 
        //into the Clipboard.
        textBox1.Cut();
    }
} //Menu_Cut

private void Menu_Paste(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.get_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).Equals(get_DialogResult().No)) {
                // Move selection to the point after the current 
                // selection and paste.
                textBox1.set_SelectionStart(textBox1.get_SelectionStart() 
                    + textBox1.get_SelectionLength());
            }
        }
        // Paste current text in Clipboard into text box.
        textBox1.Paste();
    }
} //Menu_Paste

private void Menu_Undo(Object sender, System.EventArgs e)
{
    // Determine if last operation can be undone in text box.   
    if (textBox1.get_CanUndo() == true) {
        // Undo the last operation.
        textBox1.Undo();
        // Clear the undo buffer to prevent last action from being redone.
        textBox1.ClearUndo();
    }
} //Menu_Undo

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see System Requirements.

.NET Framework

Supported in: 2.0, 1.1, 1.0

.NET Compact Framework

Supported in: 2.0
Did you find this helpful?
(1500 characters remaining)
Thank you for your feedback

Community Additions

ADD
Show:
© 2014 Microsoft. All rights reserved.