0

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

4

3 回答 3

1

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

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

于 2013-03-27T12:18:32.077 回答
0

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

OldValue将始终在 textbox1 中包含旧值

从您的示例中:如果我的文本是:“文本”,然后单击 8,则文本将为“文本 8”,因此字符为 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;
    }
于 2013-03-27T12:34:53.033 回答
0

它提供了一个event被调用的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
}

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

rtb.TextChanged += rtb_TextChanged;

在此处查找文档。

于 2013-03-27T12:15:10.050 回答