Hey,
bin vorhin auf dieses Snippet gestoßen und habs mal mit ein paar
kleinen Änderungen in VB übersetzt:


'RTBContent line count
Dim lineCount As Integer = Nothing

Private Sub setLineNumbers()
'Set line count
lineCount = RTBContent.Lines.Count

'Get first visible(!) line
Dim firstCharIndex As Integer = RTBContent.GetCharIndexFromPosition(New Point(0, 0))
Dim firstLineIndex As Integer = RTBContent.GetLineFromCharIndex(firstCharIndex)

'Get last visible(!) line
Dim lastCharIndex As Integer = RTBContent.GetCharIndexFromPosition(New Point(RTBContent.Width, RTBContent.Width))
Dim lastLineIndex As Integer = RTBContent.GetLineFromCharIndex(lastCharIndex)

'Clear numbers
RTBNumbers.Clear()

'Set numbers
For n As Integer = firstLineIndex To lastLineIndex + 1
RTBNumbers.AppendText(n & vbCrLf)
Next
End Sub

'Event -> RTBContent TexChanged -> Set numbers if lineCount has changed
Private Sub RTBContent_TextChanged(sender As Object, e As EventArgs) Handles RTBContent.TextChanged
If Not RTBContent.Lines.Count = lineCount Then
setLineNumbers()
End If
End Sub

'Event -> RTBContent VScroll -> Set numbers
Private Sub RTBContent_VScroll(sender As Object, e As EventArgs) Handles RTBContent.VScroll
setLineNumbers()
End Sub


Das ganze funktioniert zwar sehr schön aber irgendwie frage ich mich ob es für das Ganze nicht eine "zeitgemäßere" Lösung gibt da
das Sample noch unter .NET 2.0 geschrieben wurde.

Habe bereits gegoogelt aber was aktuelles zu diesem Thema konnte ich leider nicht finden...

MfG