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)
谢谢你,奥兹.
您可以使用富文本框的SelectionStart
和SelectionLength
属性设置插入位置.设置SelectionLength
为0,然后设置SelectionStart
为要显示插入符号的位置.
文档SelectionStart
说:
如果控件中未选择任何文本,则此属性指示新文本的插入点或插入符号.
Win32 API函数SetCaretPos
太低,无法满足您的需求.