vb.net - 将光标/插入符号发送到 RichTextBox 中的下一段
问题描述
我一直在尝试将 RichTextBox 中的插入符号移动到另一个段落,就像在键盘上按下 Ctrl+向下箭头一样。我使用SendKeys.Send("^{DOWN}")
但不一致,有时它似乎按了两次,即跳过一些行。但是当直接从键盘上按下它时,可以流畅地移动而不会跳跃。
我该如何制作SendKeys
马厩,或者有其他方法可以解决这个问题吗?
解决方案
您可以使用:
Dim nextParagraphPos = RichTextBox1.Text.IndexOf(vbLf, RichTextBox1.SelectionStart) + 1
If nextParagraphPos > 0 Then
RichTextBox1.SelectionStart = nextParagraphPos
Else
RichTextBox1.SelectionStart = RichTextBox1.TextLength
End If
这用于IndexOf()
获取下一个换行符的位置,它显示下一段的位置。如果IndexOf()
返回-1,我们将位置设置在字符串的末尾以模拟Ctrl+的行为↓</kbd>.
您也可以If
用这个较短的版本替换语句:
RichTextBox1.SelectionStart =
If(nextParagraphPos > 0, nextParagraphPos, RichTextBox1.TextLength)
推荐阅读
- javascript - 无法读取 null 的属性“getAttribute”:Angular 和 d3.select
- javascript - HTML 表单货币字段 - 将货币自动格式化为 2 位小数和最大长度
- google-sheets - 在 HLOOKUP 中锁定 row_index
- javascript - JavaScript 获取元素名称值
- c# - Cosmos DB Newtonsoft 反序列化问题
- python - Python - 函数返回值
- c# - 如何注册一个ajaxcontrolkit?
- algolia - Algolia Instantsearch:自定义排序细化列表
- delphi - 模拟按键但仅限于特定窗口?
- azure - Azure Logic Apps 未在 Google 工作表中为每个实例插入一行