C# 在windows窗体C中撤消通过按钮单击事件插入文本#
我正在用C#开发一个小型windows窗体应用程序。我有很多按钮和一个组合框,点击后在富文本框中的当前光标位置添加特定文本。是否有任何方法可以撤消此文本插入?。我尝试过richTextBox.Undo()方法,但它仅在通过键盘添加到富文本框的最新文本时有效。但是如果是通过按钮或组合框,那么什么也不会发生,而且光标也会消失。 这是我在单击按钮时添加文本的方法,我希望它在单击撤消按钮或CTRL+Z时撤消C# 在windows窗体C中撤消通过按钮单击事件插入文本#,c#,winforms,C#,Winforms,我正在用C#开发一个小型windows窗体应用程序。我有很多按钮和一个组合框,点击后在富文本框中的当前光标位置添加特定文本。是否有任何方法可以撤消此文本插入?。我尝试过richTextBox.Undo()方法,但它仅在通过键盘添加到富文本框的最新文本时有效。但是如果是通过按钮或组合框,那么什么也不会发生,而且光标也会消失。 这是我在单击按钮时添加文本的方法,我希望它在单击撤消按钮或CTRL+Z时撤消 private void mybuttonclick(object sender, Ev
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}");
}
private void MyButton单击(对象发送方,事件参数e)
{
//------点击POS标签按钮插入标签的方法-------//
按钮btn=(按钮)发送者;//接收有关单击哪个按钮的信息。
字符串strInsert=“”+”;//插入“”,并在标记末尾添加一个额外的空格
//在当前光标位置插入标记。
richTextBox1.Focus();
int i=richTextBox1.SelectionStart;
richTextBox1.Text=richTextBox1.Text.Insert(richTextBox1.SelectionStart,strInsert);
richTextBox1.SelectionStart=i+strInsert.Length;
//将光标移动到要标记的下一个单词。
richTextBox1.Focus();
SendKeys.SendWait(“^{LEFT}”);
}
需要帮助
问候 您可以使用
List<String> additions = ...
列表添加=。。。
而是在列表中添加(…)'ing和删除(…)'ing元素。是的,您可以创建
列表
因此,列表将跟踪插入并回滚以撤消。代码项目中有几个可用的“”,例如,有一个文本框示例:
如果我必须解决这个问题,我会下载这个示例,看看如何调整它以满足我自己的需求。撤消/重做并不容易。有许多不同的方法,但通常,它们都归结为一个堆栈,用于跟踪用户执行的操作。要撤消,请弹出最近的操作,并执行某种方法撤消该操作 对于文本,我会这样做:
当您想要“撤消”时,只需将文本框中的文本恢复到步骤0中记录的任何内容。对于“文本”一词,我深表歉意。。。。它是没有“an”的简单“text”,我知道有些人使用string而不是string,但我仍然认为,因为它是一个对象而不是本地对象,所以应该大写。在这一点上我可能会被反驳,但在此之前,让我好好享受。
string
是一种C#内置类型<代码>字符串是.NET类型string
映射到string
+1,在这种情况下,通过示例学习通常对我很有帮助