Buenas!.
¿ Se puede seleccionar más de una palabra de un texto en un TextArea ?. ( Desde Código )
He logrado o una o todas. Y lo cierto es que su método
Select permite seleccionar un lugar concreto.
Si lo interpretamos como una selección de ratón No creo que sea posible. ¿ Existe otra posibilidad ?.
Hice un ejemplo que hace lo siguiente:
Las palabras que fallan son gallo y canta. Que son las que quiero seleccionar
por separado (ojo).
Pero solo me selecciona una, la última del array de las no encontradas (afalladas).
Definí la variable indice de las palabras erróneas pero parece que no es necesario.
Código:
Private fcorrecta As String = "El gallo canta todas las mañanas"
Private fentrada As String = "El perro ladra todas las mañanas"
Private acorrecta As String[]
Private aentrada As String[]
Private afalladas As String[]
Private indierroneas As New Integer[]
Public Sub Form_Open()
Label1.Text = fcorrecta
Label2.Text = fentrada
acorrecta = Split(fcorrecta, " ")
aentrada = Split(fentrada, " ")
afalladas = Comprueba()
Mostrar()
End
Public Function Comprueba() As String[]
Dim palabra As String
Dim tacorrecta As String[]
Dim indice As Integer
tacorrecta = acorrecta
For Each palabra In aentrada
indice = tacorrecta.Find(palabra)
If indice = -1 Then Continue
'Añado el indice de la palabra que no existe en la frase correcta
indierroneas.Add(indice)
'Elimino la palabra del array temporal que contiene las palabras correctas
tacorrecta.Remove(indice)
Next
Return tacorrecta
End
Public Sub Mostrar()
Dim palabra As String
TextArea1.Text = fentrada
For Each palabra In afalladas
TextArea1.Select(String.InStr(fcorrecta, palabra) - 1, Len(palabra))
Next
End
Os subo el ejemplo.
Saludos