我有一個WinForms RichTextBox,並且默認情況下,撤消對大多數情況都適用,但是當我粘貼一些文本時(我已經將它的格式設置爲純文本),然後嘗試撤消它不會撤消剛剛粘貼的文字。在RichTextBox中撤消不會撤消粘貼文本
任何幫助解決方案?
我有一個WinForms RichTextBox,並且默認情況下,撤消對大多數情況都適用,但是當我粘貼一些文本時(我已經將它的格式設置爲純文本),然後嘗試撤消它不會撤消剛剛粘貼的文字。在RichTextBox中撤消不會撤消粘貼文本
任何幫助解決方案?
按設計,TextChanged
事件不會觸發創建撤消狀態。粘貼會觸發TextChanged
事件,所以這就是發生這種情況的原因。要解決它,
我會建議將事件處理程序綁定到調用KeyUp
事件的TextChanged
事件。 KeyUp事件確實會觸發創建撤銷狀態創建。
如何做到這一點?在C#中, – Viion 2010-07-23 05:40:03
而不是顯式替換文本,您可以使用剪貼板。而這將不明確撤消堆棧
var originalClbData = Clipboard.GetDataObject();
Clipboard.SetText(newText);
txtMailBody.SelectAll();
txtMailBody.Paste();
if (originalClbData != null) Clipboard.SetDataObject(originalClbData);
我刪除了C#從標題,因爲你的問題無關,與C#,因爲你已經有了C#在你的標籤。 – 2010-07-22 23:25:54