TextBoxBase::CanUndo Property
Gets a value indicating whether the user can undo the previous operation in a text box control.
Assembly: System.Windows.Forms (in System.Windows.Forms.dll)
Property Value
Type: System::Booleantrue if the user can undo the previous operation performed in a text box control; otherwise, false.
If this method returns true, you can call the Undo method to undo the last operation in a text box. You can use this method in the Popup event of a MenuItem, or in code that manages the state of buttons on a ToolBar to enable or disable the ability to undo the previous operation in a text box control.
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(); } } void Menu_Cut( System::Object^ sender, System::EventArgs^ e ) { // Ensure that text is currently selected in the text box. if ( !textBox1->SelectedText->Equals( "" ) ) { // 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( "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(); } } 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(); } }
Available since 1.1