RichTextBox最后一次更改检查

时间:2013-03-27 12:12:09

标签: c# forms richtextbox

我如何知道用户在RichTextBox文本中所做的最后一次更改? 有功能吗? 或者我需要构建一个函数吗?

3 个答案:

答案 0 :(得分:1)

在文本框中添加活动。选择文本框,转到属性,在事件选项卡中,您将看到不同的事件。查找TextChanged事件。将该事件添加到您的代码中。

每次更改文本框时都会触发此功能。您可以在该函数中编写逻辑。

答案 1 :(得分:0)

它提供了一个名为event的{​​{1}}。您需要定义TextChanged并指定文本发生变化时要发生的事情。

例如:

EventHandler

现在你需要将事件处理程序添加到事件中,如

private void rtb_TextChanged(object sender, EventArgs e)
{
    char c = rtb.Text.ElementAt(rtb.Text.Length);
    if(c == mystring.ElementAt(mystring.Length))
      //is equal
    mystring = rtb.Text; //save string for next comparison
}

查看here以获取文档。

答案 2 :(得分:0)

UpdatedChar将包含textbox1

新添加的字符

OldValue将始终包含textbox1中的旧值

来自您的示例 :如果我的文字是:“文字”而不是我点击8,那么文字将是“Text8”,因此字符为8。

UpdatedChar = 8和 OldValue =文字

    public string OldValue = string.Empty;

    public char UpdateChar;

    private void textBox1_TextChanged(object sender, EventArgs e)
    {
        var newText = sender as TextBox;

        foreach (var val in newText.Text)
        {
            if(!OldValue.ToCharArray().Contains(val))
                UpdateChar = val;
        }

        OldValue = newText.Text;
    }