0

我正在尝试将字符串插入到RichTextBox. 这是KeyUp活动形式RichTextBox

private void richTextBox1_KeyUp(object sender, KeyEventArgs e)
{
    string st = richTextBox1.Rtf;
    st=st.Insert(750, "void");
    richTextBox1.Rtf = st;
}

问题是,每次更新后,插入符号都在插入的文本之前,我想将它保留在最后。我注意到只有当我修改st.

4

1 回答 1

0

我无法理解您的代码应该如何为最终用户工作。你怎么知道在索引 750 处你有文本而不是控制字符?

快速的解决方案是自己将插入符号位置设置到末尾:

private void richTextBox1_KeyUp(object sender, KeyEventArgs e)
{
    string st = richTextBox1.Rtf;
    st=st.Insert(750, "void");
    richTextBox1.Rtf = st;
    richTextBox1.SelectionStart = richTextBox1.TextLength;
}

当然,如果您试图将插入符号放在插入 void 的位置,那将不适用于您的属性,因为和 text 属性是不同的东西。

如果尝试在 text 属性中插入文本,那么它看起来像这样:

private void richTextBox1_KeyUp(object sender, KeyEventArgs e)
{
    string st = richTextBox1.Text;
    st=st.Insert(750, "void");
    richTextBox1.Text = st;
    richTextBox1.SelectionStart = 750 + 4;
}
于 2012-12-07T21:59:24.850 回答