RichTextBox最后一次更改检查



我怎么能知道用户在RichTextBox文本中所做的最后一次更改?有函数吗?或者我需要给它建立一个函数?

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

每次修改文本框时触发此函数。您可以在该函数中编写逻辑。

它提供了一个名为TextChangedevent。您需要定义一个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
}

,现在您需要将eventandler添加到事件中,例如

rtb.TextChanged += rtb_TextChanged;

查看这里的文档

UpdatedChar将包含新添加的字符到textbox1

OldValue总是包含旧值在textbox1

从你的例子 :如果我的文本是:" text "然后我点击8所以文本将是"Text8"所以字符是8。

UpdatedChar =8 andOldValue = Text

    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;
    }

相关内容

  • 没有找到相关文章

最新更新