【发布时间】:2012-08-19 18:26:35
【问题描述】:
我正试图围绕 WinForms RichTextBox 中的一个行为展开思考。
当您使用 RichTextBox 并选择 RichTextBox 的右端时,可以通过按住 shift 并向右推来选择右侧的附加字符。
真正让我吃惊的是 RichTextBox 的 SelectionLength 属性为 0。 如果您从视觉上看它,您似乎可以选择从当前文本末尾开始的 1 个字符长度。如果您查看 curSelStart 和 curSelEnd 属性,则 curSelStart 从您的 Text 属性的末尾开始,并且 curSelEnd 超出它的一个字符。
我们正在使用我们自己的 Winforms RichTextBox 子类,它实现了所有特殊行为方式,其中我们假设如果您按退格键且 SelectionLength 为 0,您将删除一个字符。在这种情况下,这个假设不再成立,因为按下退格键只会删除您当前的选择。
关于它为什么会这样表现的任何想法?有什么办法吗?
【问题讨论】:
-
发现这个问题stackoverflow.com/questions/4231830/…和我的很相似。
标签: winforms richtextbox