Thursday, March 3, 2011

VB.NET Read current line in a text area?

I have a text area and a function to do syntax highlighting on it. Right now it reads the entire RichTextBox. How would I get a string variable containing the current line? Below is the code i currently have.

Private Sub HighLight()
    Dim rm As System.Text.RegularExpressions.MatchCollection
    Dim m As System.Text.RegularExpressions.Match
    Dim x As Integer ''lets remember where the text courser was before we mess with it

    For Each pass In FrmColors.lb1.Items
        x = rtbMain.SelectionStart
        rm = System.Text.RegularExpressions.Regex.Matches(LCase(rtbMain.Text), LCase(pass))
        For Each m In rm
            rtbMain.Select(m.Index, m.Length)
            rtbMain.SelectionColor = Color.Blue
        Next
        rtbMain.Select(x, 0)
        rtbMain.SelectionColor = Color.Black
    Next
End Sub
From stackoverflow
  • Not tried it but:

    rtbMain.Lines(lineNumber)
    

    if not assign the Lines property to an array and access the array element.

  • I think you want

    rtbMain.Lines(rtbMain.GetLineFromCharIndex(rtbMain.SelectionStart))
    

0 comments:

Post a Comment