QAH*_*QAH 11 c# richtextbox cursor winforms
我有一个C#Windows窗体程序,它具有RichTextBox控件.每当更改框内的文本时(除了键入该更改),光标将返回到开头.
换句话说,当使用Text属性更改RichTextBox中的文本时,它会使光标跳回.
如何将光标保持在相同位置或将其与编辑后的文本一起移动?
谢谢
Mar*_*ers 14
您可以在进行更改之前存储光标位置,然后将其恢复:
int i = richTextBox1.SelectionStart;
richTextBox1.Text += "foo";
richTextBox1.SelectionStart = i;
Run Code Online (Sandbox Code Playgroud)
如果您不想删除突出显示,您可能还希望对SelectionLength执行相同操作.请注意,如果插入的文本在选择内,这可能会导致奇怪的行为.然后,您需要扩展选择以包括插入文本的长度.
请注意,如果有人刷新或完全更改了 RichTextBox 内容,则必须事先调用 focus 方法才能移动插入符号:
richTextBox1.Focus();
int i = richTextBox1.SelectionStart;
richTextBox1.Text = strPreviousBuffer;
richTextBox1.SelectionStart = i;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
29612 次 |
| 最近记录: |