c# - 检测用户何时在 RichTextBox 中选择文本

标签 c# wpf

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

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

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

最佳答案

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

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

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

关于c# - 检测用户何时在 RichTextBox 中选择文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25248548/

相关文章:

c# - 在 C# 5 中多次异步调用同一个方法是否安全

c# - 写入httpResponse时,响应是否有大小限制?

wpf - 如何知道要在 FindWindowByClassName InnoSetup 函数中使用的 WPF 应用程序的类名

c# - WPF 中的日期和数字本地化

c# - 当控件的数据绑定(bind)发生变化时,是否可以为过渡设置动画?

c# - gRPC 客户端不配置 Channel

c# - PInvoke PostMessage 不能跨用户帐户工作

c# - 如何通知可观察集合中某项的属性已更改?

c# - WPF UI 渲染问题

c# - 引导 WPF