Pergunta

Como posso obter as linhas que são selecionadas texto nelas? Por exemplo:alt text

As linhas selecionadas seriam 1, 2,3 e 4 (0 sendo a primeira linha)

Como posso codificar como:

For Each line as string(or integer) in textbox1."SelectedLines"
  'Do something here for each line
Next

Obrigado

Foi útil?

Solução

Levando você literalmente, você precisa encontrar os números de linha, mesmo que apenas partes das linhas 1 e 4 sejam selecionadas. Faça isso da seguinte maneira:

    If RichTextBox1.SelectionLength > 0 Then
        Dim firstLine As Integer = RichTextBox1.GetLineFromCharIndex(RichTextBox1.SelectionStart)
        Dim lastLine As Integer = RichTextBox1.GetLineFromCharIndex(RichTextBox1.SelectionStart + RichTextBox1.SelectionLength)
        For line As Integer = firstLine To lastLine
            Dim txt = RichTextBox1.Lines(line)
            ' do something...
        Next
    End If

Outras dicas

Eu acho que você está procurando a propriedade SelectedText. (em C#)

foreach(string line in textBox1.SelectedText.Split(new string[] {Environment.NewLine}, StringSplitOptions.RemoveEmptyEntries))
{
    //dostuffhere
}

(Na minha tentativa de VB)

   Dim splitter(1) As String
   splitter(0) = Environment.NewLine
    For Each y As String In TextBox1.SelectedText.Split(splitter, StringSplitOptions.RemoveEmptyEntries)
         //do stuff here
   Next
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top