我无法理解您的代码应该如何为最终用户工作。你怎么知道在索引 750 处你有文本而不是rtf控制字符?
快速的解决方案是自己将插入符号位置设置到末尾:
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 的位置,那将不适用于您的rtf属性,因为rtf和 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;
}