微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

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

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

解决方法

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐