当前位置: 首页 > 编程语言 > C#

RichTextBoxC#setcaretpositionwinformsshare

时间:2023-04-11 00:28:05 C#

RichTextBoxC#setcaretpositionwinforms我正在构建一个聊天应用程序,用户可以在其中将文本输入到一个richtextbox中。在富文本框中有一个初始文本:“I:”。现在,当用户按下主页按钮时,我希望插入符号位于“Me:”字符串之后。那么对于Shift+Home组合或三键鼠标或Ctrl+左光标等。有什么办法吗?我试过[DllImport("user32.dll")][return:MarshalAs(UnmanagedType.Bool)]staticexternboolSetCaretPos(intX,intY);谢谢奥兹。您可以使用格式文本框的SelectionStart和SelectionLength属性设置插入符号位置。将SelectionLength设置为0,然后将SelectionStart设置为您希望插入符号出现的位置。SelectionStart的文档说:如果在控件中没有选择文本,则此属性指示新文本的插入点或插入符号。Win32API函数SetCaretPos级别太低,无法执行您想要的操作。Winforms:RichTextBox.SelectionStart并将RichTextBox.SelectionLength设置为0。WPF:RichTextBox.CaretPosition使用Select方法:publicvoidSelect(intstart,intlength)richTextBoxUserText.Select(richTextBoxUserText.TextLength,0);在属性SelectionProtected上google找到的以上是C#学习教程:RichTextBoxC#设置插入位置如果winforms分享的所有内容对你有用,需要进一步了解C#学习教程,希望大家多多关注——richTextBoxUserText.Text=INITIAL_TEXT;richTextBoxUserText.SelectAll();richTextBoxUserText.SelectionColor=Color.Red;richTextBoxUserText.SelectionProtected=true;richTextBoxUserText.SelectionLength=0;richTextBoxUserText.SelectionStart=richTextBoxUserText.TextLength+1;本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: