RichTextBox C#设置插入位置winforms

Oz *_*ano 2 c# richtextbox winforms

我正在构建一个聊天应用程序,用户将其文本输入到richtextbox.

在富文本框中有一个初始文本,上面写着:"我:".

现在,当用户按下Home按钮时,我希望插入符号位于"Me:"字符串之后.因此对于Shift + Home组合或三键鼠标或Ctrl +左光标等.

有什么办法可以吗?

我已经试过了

[DllImport("user32.dll")]
[return: MarshalAs(UnmanagedType.Bool)]
static extern bool SetCaretPos(int X, int Y);
Run Code Online (Sandbox Code Playgroud)

谢谢你,奥兹.

Dav*_*nan 7

您可以使用富文本框的SelectionStartSelectionLength属性设置插入位置.设置SelectionLength为0,然后设置SelectionStart为要显示插入符号的位置.

文档SelectionStart说:

如果控件中未选择任何文本,则此属性指示新文本的插入点或插入符号.


Win32 API函数SetCaretPos太低,无法满足您的需求.