' Y pos of caret
Dim CaretYPos As Integer = RichTextBox1.GetPositionFromCharIndex(RichTextBox1.SelectionStart).Y
Dim CharHeight As Integer = 4 ' Height of each line
If CaretYPos >= RichTextBox1.Height - CharHeight Then
' Caret is hidden below screen view
ElseIf CaretYPos < -CharHeight Then
' Caret is hidden above screen view
Else
' Caret is visible
End If
2条答案
按热度按时间zpjtge221#
假设这是WinForms
我认为您可以使用
RichTextBox1.GetPositionFromCharIndex()
和RichTextBox1.SelectionStart
:不过,在使用
CharHeight
时,您可能需要考虑更高的dpi显示器bvuwiixz2#
我将@jimi的注解应用到我的C#应用程序中,它与
ScrollToCaret()
方法配合使用效果很好。谢谢。