编程语言
首页 > 编程语言> > c# – RichTextBox保存“选择方向”

c# – RichTextBox保存“选择方向”

作者:互联网

我有一个WinForms程序,每当你更改你的选择时,RichTextBox需要改变某些其他文本的颜色.为了做到这一点,它必须选择该文本,因此我失去了我当前的选择.

我可以保存并加载SelectionStart和SelectionLength属性,但我不能保持“选择方向”:如果用户从光标向前或向后突出显示.

有关如何保存选择方向或为文本着色而不必更改选择的任何想法?

解决方法:

哎呀,丑陋的问题.不,EM_SETPARAFORMAT只能用于当前选择.并且EM_EXSETSEL始终将插入符号放在选择的末尾.您可以通过观察SelectionStart中的更改来检测选择方向,但是您无法将插入符号放在正确的位置.编辑控件具有相同的问题.

这通常不是问题,因为重新着色仅在用户修改文本时发生,而不是在她选择文本时.我能想到的唯一解决方法是通过注入击键来恢复选择.那太难了.

标签:c,colors,richtextbox,selection,selectionchanged
来源: https://codeday.me/bug/20190710/1421626.html