问题
Editing a RichTextBox control's text (more specifically, modifying selection font/color) programmatically seems to be tracked in the control's built in undo stack. Is there a way, short of writing my own undo/redo "manager", to prevent certain actions/operations from being added to the undo stack ?
回答1:
No cando. At best you can flush the undo stack completely by sending EM_SETUNDOLIMIT twice. EM_SETTEXTEX offers the same option with the ST_DEFAULT flag. Surely not what you want. Look at ScintillaNET for a real editor.
回答2:
If you came here when searching for a WPF c# answer you have a good one here Answered
回答3:
Actually you can easily do this by implementing some of the ITextDocument interface and sending tomSuspend and tomResume as a count argument to the Undo handler.
来源:https://stackoverflow.com/questions/2534946/preventing-a-richtextbox-operation-from-being-added-to-the-controls-undo-stack