【问题标题】:Detect when user is selecting text in RichTextBox检测用户何时在 RichTextBox 中选择文本
【发布时间】:2014-08-11 17:00:06
【问题描述】:

我的应用程序中有一个 RichTextBox 用于向用户显示活动日志,当发生新事件时,此 RichTextBox 会自动更新。

所以我的问题是......我的一个同事有视力障碍,所以我实现了一种方法,当他选择一段文本时,该文本片段在扬声器上被大声朗读......直到这里一切正常...但如果在他选择文本时发生新事件并更新日志,则所选文本有时会丢失或混乱。

有没有办法检测他何时选择文本?因此,当他选择文本时,我无法停止更新。 (而且我并不是要检查所选文本长度是否高于 0,因为有时我想保持选中文本,也不想检查鼠标是否按下,因为有时他使用 shift 键 + 箭头来选择文本)

【问题讨论】:

  • 你是如何在网站上实现这个 .. javascript 的? Java小程序? ...在向您提供建议之前我们需要知道
  • 在文本框上使用 SelectionChanged 事件。

标签: c# wpf


【解决方案1】:

就像 Mangist 建议的那样,您可以使用 SelectionChanged 事件并“暂停”文本框的更新。

在更新文本框之前,您可以运行一个简单的检查。例如

if (richTextBox1.SelectedText.Equals(string.Empty)) { 更新 } 别的 { 不更新 }

【讨论】:

  • 那么当SelectionChanged被触发时我会暂停更新,但是如何检测选择何时结束再次开始更新?
  • 你可以做一些简单的事情,比如在 SelectionChanged 时,检查 richTextBox1.SelectedText 值。如果它是空的(没有选择或清除选择)然后再次开始更新,如果它不为空(选择)然后暂停。不过就个人而言,我会在线程中更新文本框并暂停并继续使用线程。
猜你喜欢
  • 2012-11-18
  • 2011-11-23
  • 2012-02-13
  • 2014-11-02
  • 1970-01-01
  • 2010-11-10
  • 1970-01-01
  • 2011-03-14
  • 1970-01-01
相关资源
最近更新 更多