追踪丢失键盘插入符号的情况
Posted
技术标签:
【中文标题】追踪丢失键盘插入符号的情况【英文标题】:Tracking down the case of the missing keyboard caret 【发布时间】:2012-07-30 13:37:31 【问题描述】:在我们应用程序的某些窗口中,当我们签入/签出对象时,键盘插入符号会消失。这使 UI 成为只读或可编辑的。
因此,如果我在文本字段上并且它是可编辑的,并且我在闪烁的插入符号消失时检查它。我检查了它,插入符号仍然消失了。之前和之后我都可以使用 Shift+向左箭头或向右箭头来查看控件仍然具有焦点(.NET 文本框控件)。
奇怪的是,某些窗口上的所有控件似乎都会发生这种情况,但其他窗口上的所有控件都可以正常工作。
我知道这有点含糊,但我只是在寻找可能使键盘插入符号像这样消失的想法。 (或如何解决或调试此问题)
我们没有任何 Cursor.Hide 调用,没有任何调用 ShowCaret 或 HideCaret 的代码(我看了看,我们在任何地方都没有带有“caret”这个词的代码。
我检查了好控件和坏控件并进行了一些调试以查看光标是“IBeam”,并且我已经对 GetCaretPos 和 GetCaretBlinkTime 进行了一些调用,但在好的和坏的情况下值似乎是合理的。
【问题讨论】:
签入/签出对象是什么意思? 我们基本上有一个“编辑”按钮(或者您可以按 Ctrl+E - 我这样做是为了将注意力集中在同一个控件上)。这使所有控件可编辑或不可编辑。如果你继续这样做,你会在可编辑和不可编辑之间切换。我们将所有控件设置为只读(或非只读)。 这看起来像是 DevExpress.XtraRichEdit.RichEditControl 的问题。我在以下位置创建了一个问题:devexpress.com/Support/Center/Question/Details/Q424339 【参考方案1】:DevExpress 已确认将在下一个版本中修复此问题,并在我需要时为我提供了一个临时版本。出色的客户支持。
【讨论】:
以上是关于追踪丢失键盘插入符号的情况的主要内容,如果未能解决你的问题,请参考以下文章