VB.NET Ler linha atual em uma área de texto?
-
08-07-2019 - |
Pergunta
Eu tenho uma área de texto e uma função para fazer realce de sintaxe nele. Agora ele lê todo o RichTextBox. Como eu iria receber uma variável string contendo a linha atual? Abaixo está o código eu tenho atualmente.
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
Solução
Não tentei, mas:
rtbMain.Lines(lineNumber)
Se não atribuir a propriedade Lines para uma matriz e acesso o elemento matriz.
Outras dicas
Eu acho que você quer
rtbMain.Lines(rtbMain.GetLineFromCharIndex(rtbMain.SelectionStart))
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow