Per ogni linea in linee selezionate (vb.net)
Domanda
come posso ottenere le linee che sono hanno selezionato il testo in loro? Per esempio:
Le linee selezionate sarebbero 1, 2,3 e 4 (0 è la prima riga)
Come posso arrivare a codice come:
For Each line as string(or integer) in textbox1."SelectedLines"
'Do something here for each line
Next
Grazie
Soluzione
Prendendo alla lettera, è necessario trovare i numeri di riga, anche se solo alcune parti della linea 1 e 4 sono selezionati. Farlo nel modo seguente:
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
Altri suggerimenti
Credo che stai cercando per la proprietà SelectedText. (In C #)
foreach(string line in textBox1.SelectedText.Split(new string[] {Environment.NewLine}, StringSplitOptions.RemoveEmptyEntries))
{
//dostuffhere
}
(nel mio tentativo di 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
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow