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}");
}
助けが必要です。
よろしく!