我正在用 C# 开发一个小型 Windows 窗体应用程序。我有很多按钮和一个组合框,点击后可以在富文本框中的当前光标位置添加某些文本。有没有办法撤消这个文本插入?我已经尝试过richTextBox.Undo() 方法,但它只有在添加到富文本框中的最新文本是通过键盘时才有效。但如果是通过按钮或组合框,则什么也不会发生,而且光标也会消失。这是我在单击按钮时添加文本的方法,我希望在单击撤消按钮或 CTRL+Z 时撤消它
private void mybuttonclick(object sender, EventArgs e)
{
// ---------- Method for inserting tags on clicking the POS Tags buttons ---------- //
Button btn = (Button)sender; // receiving information about which button was clicked.
string strInsert = "<" + btn.Text + ">" + " "; // inseting '<>' and an extra space at the end of the tag
// inserting the tag at the current cursor position.
richTextBox1.Focus();
int i = richTextBox1.SelectionStart;
richTextBox1.Text = richTextBox1.Text.Insert(richTextBox1.SelectionStart, strInsert);
richTextBox1.SelectionStart = i + strInsert.Length;
// moving the cursor to the next word to be tagged.
richTextBox1.Focus();
SendKeys.SendWait("^{LEFT}");
}
需要帮助。
问候!